我试图在Windows 7机器上的MinGW下使用带有MPIR的GCC编译一个简单的C程序。我通过configure,make,make check和make install成功安装了MPIR(我想)(没有使用“ sudo”-这是什么?)。
该程序名为“ mytest.cpp”,位于MPIR的顶部文件夹中,即C:/MPIR/mpir-2.7.0/,其中也存在“ mpir.h”(它是“ the”(正确的吗?有几个吗?)mpir.h?):
#include "mpir.h"
using namespace std;
int main ()
{
mpz_t z;
mpz_init(z);
return 0;
}
我尝试通过编译
gcc mytest.c -o mytest -lmpir -I / C:/MPIR/mpir-2.7.0/
希望GCC能够找到mpir.h,“-lmpir”,因为有帮助的开发人员告诉我;但是它说:
“ C:/ mingw / [...] /bin/ld.exe:找不到-lmpir”
其中“ [...]”代表“ minGW”目录中的某些目录上-下-爬升。但是,我使用当前位于
C:/MPIR/mpir-2.7.0/目录。
怎么了?如何使GCC查找mpir文件?编译选项“ -I”的拼写是否应该不同?我也听说过一些“ -L”选项,但是在任何地方都找不到。谢谢。
最佳答案
更改
gcc mytest.c -o mytest -lmpir -I / C:/MPIR/mpir-2.7.0/
至
gcc mytest.c -o mytest -lmpir -IC:/MPIR/mpir-2.7.0/ -LC:/MPIR/mpir-2.7.0
您不需要在C:前面加上/,并且-L标志通过-l标志告诉链接器在哪里找到要链接的库。
另外,我建议您使用包含和库的相对路径,而不要使用绝对路径。