我目前正在尝试使用 GCC 4.2 编译 GCC 4.9.2。我遇到的问题是我有一个有效的 GMP 安装 (6.0.0a),但 GCC 一段时间后无法链接到它。我得到的错误是:
Undefined reference to __gmpn_invert_limb
然后它显示了一些使用该函数的方法,尽管 make check(在 gmp 上)确定该函数工作正常。
使用的命令:
./configure --prefix=/usr/local/lib/gcc --with-gmp=/prefix/path/of/gmp/configure
make
有任何想法吗?
PS:我还尝试下载 gmp 源代码并将其放入 gcc/gmp 中,就像我对 mpfr 所做的那样。相同的结果。
答案1
通常在 gmp 的配置文件中,如果未提供操作系统,则默认情况下不使用任何操作系统,这(至少对于 ARM 而言)会导致 host_os 和 target_os 别名不正确,并导致您引用的未定义引用。
我为 arm-linux-androideabi 修复此问题的方法是更改两个实例
- linux*android*)
+ linux-android*)
在 gmp/配置中。我不确定您的操作系统或 CPU 是什么,但在配置命令中定义它们可能会有所帮助。