[英]Xcode Version 6.0.1 gmp.h header file not found, even though gmp.h and gmpxx.h are in local/include
[英]gmp.h file not found error in Xcode, mac
我在usr/local
目录下载了gmp-6.0.0a.tar.xz
文件和unzip(tar)。 随着人们说,我输入./configure
, make
, make check
和sudo make install
在gmp-6.0.0
目录。 安装似乎很好。 但是,当我试图像这样测试
#include <stdio.h>
#include <gmp.h>
#include <gmpxx.h>
int main(int argc, const char * argv[])
{
// insert code here...
printf("Hello, World!\n");
return 0;
}
它有错误, gmp.h
文件。 我将-lgmp
添加到Other Linker Flags但不起作用。
我不知道如何处理这类问题。 有人可以帮忙吗?
谢谢Dietrich Epp。 现在我没有找到gmp.h文件的错误,但是我找不到gmpxx.h文件。 我不知道为什么..
有什么建议吗?
首先,你不应该在/usr/local
解压缩它。 只需将它解压缩到您主目录中的某个位置(无所谓),然后./configure; make; make check; sudo make install
./configure; make; make check; sudo make install
./configure; make; make check; sudo make install
。
您的问题可能是由编译器未搜索/usr/local/include
。
检查/usr/local/include/gmp.h
存在。 如果它不存在,GMP安装不正确(或安装在不同的位置)。
将-I/usr/local/include
到编译器标志中。 在Xcode中,这是通过将/usr/local/include
到项目设置中的“附加标题搜索路径”(或类似的某些设置)来完成的。
配置GMP时,默认情况下不启用C ++支持。 解压缩包,并配置: ./configure --prefix=/usr/local --enable-cxx
gmpxx.h
- 这也将安装gmpxx.h
头文件和libgmpxx.dylib
和/或libgmpxx.a
库
不确定最新的GMP是否为C ++编译器选择了铿锵声。 您可以手动设置环境变量,例如CC=clang
(默认为C99),并且: CXX=clang++ -std=c++11 -stdlib=libc++
(C ++ 11 dialect - 也将C ++ 11选项传递给连接器)。 同样,这可能是不必要的。
您的测试,因为它包含C ++,必须构建为C ++应用程序。 另外, libgmpxx.dylib
本身链接到libgmp.dylib
,因此对于一个简单的C ++测试程序:
$CXX -I/usr/local/include gmptest.cc -o gmptest -L/usr/local/lib -lgmpxx
应该足够了。
如果首先使用其他系统GMP库安装,则可能需要将/usr/local/lib
到DYLD_LIBRARY_PATH
变量,除非使用链接器-rpath
选项对库进行硬编码。 但是,如果问题出现,那就要担心了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.