【发布时间】:2015-04-12 23:16:27
【问题描述】:
我的程序使用 GNU 多精度算术库来处理任意大小的数字。我使用 GCC 成功编译了它:
gcc main.c -o diff -g -lgmp
但是,当我尝试使用 MinGW 交叉编译器编译器时,我收到以下错误:
i686-w64-mingw32-gcc main.c -o diff.exe -g -lgmp
main.c:3:46: fatal error: gmp.h: No such file or directory
#include <gmp.h>//For files of arbitrary size
然后我试图告诉它头文件的确切位置:
i686-w64-mingw32-gcc main.c -o diff.exe -I/usr/include -g -lgmp
/usr/lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ld: cannot find -lgmp
collect2: error: ld returned 1 exit status
好的,我想现在它成功找到了标题,但找不到库。于是我又试了一次:
i686-w64-mingw32-gcc main.c -o diff.exe -I/usr/include -g -L/usr/lib -lgmp
/usr/lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ld: cannot find -lgmp
collect2: error: ld returned 1 exit status
我想我需要指定要使用的确切文件,所以我尝试了这个:
i686-w64-mingw32-gcc main.c -o diff.exe -I/usr/include -g /usr/lib/libgmp.so
/usr/lib/libgmp.so: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
所以,老实说,我不知道该怎么做,非常感谢您的帮助。
【问题讨论】:
-
你也需要交叉编译库!
-
你没有。它不会起作用。