刚遇到这个问题我就想,我设置了C_INCLUDE_PATH,我自己也安装了gmp(源码编译后安装在自己home下的一个路径下面)。
为什么还是找不到gmp.h? 我自己手动可以在C_INCLUDE_PATH指定的路径下找到啊,为什么mpfr就是找不到?
甚至我使用了--with-gmp-build=GMPSOURCEDIR
-- GMPSOURCEDIR 是gmp的源码路径
但是还是上面的错误。为什么?
甚至我再用 --with-gmp-include=DIR --with-gmp-lib=DIR:
./configure --with-gmp-include=DIR --with-gmp-lib=DIR
-- 上面两个DIR 分别是安装后gmp的include头文件路径,还有lib动态库路径。
但是还是上面那个错误。为什么?
我看到有人回复(应该是官方吧),说最新的已经修复了这个问题。So, 我下载了一个mpfr-4.1.0.tar.gz。
然后按照上面的方式编译还是失败。为什么?
--------------------------------------------------------------------------------------------------------------------------------------
上面我写的确实有点啰嗦了,这个是我的一个编译过程和试图解决问题尝试的方法。
总是忽略了细节,那就是 --with-gmp-include=DIR --with-gmp-lib=DIR的使用方法对不对?
不卖关子了,使用说明里写了一定要是绝对路径。
如果你使用的是一个变量赋值,那你的DIR里面是不是包含了相对路径(比如../)?这样是不行的。
所以你的DIR里面不要包含相对路径。
比如正确使用:
./configure --prefix=$(THIRD_PARTY_INSTALL_PATH) --with-gmp-include=/home/test/third_party/lib_bins/include --with-gmp-lib=/home/test/third_party/lib_bins/lib
这样就可以正确编译通过。