我是Apple Xcode的完全初学者,但我已经遵循了Xcode文档以及一些相关问题的建议而没有成功。
我将GMP安装到/ usr / local / bin,使用该库编写了一个简短的程序,并使用gcc main.c -lgmp
编译。它编译时没有任何警告或错误,可执行文件完美无缺。
我启动了一个新的Xcode项目(命令行工具;类型:C),将代码复制到新创建的main.c,并打开项目构建设置。从那里我设置链接>其他链接器标志到-lgmp
和搜索路径>图书馆搜索路径至/usr/local/bin
。但是,构建失败,预处理程序错误“Gmp.h:没有这样的文件或目录”。
我已经尝试了几乎所有可以想象的标题:
#include "gmp.h"
#include <gmp.h>
#include "gmp"
#include "libgmp.a"
。 。
这是我过去三个月的主要障碍,这使我无法学习C.任何帮助我获得最终解决方案都会受到高度赞赏。
答案 0 :(得分:8)
您必须在Xcode项目中设置一些内容。例如,我在/opt/gmp/5.0.2
中安装了gmp,我将以此为例。实际的库安装在/opt/gmp/5.0.2/lib
中,头文件安装到/opt/gmp/5.0.2/include
中。安装库设置时, - PREFIX 标志将/opt/gmp/5.0.2
自动处理。如果未设置此标志,则前缀通常默认设置为/usr/local
。
/opt/gmp/5.0.2/include
。/opt/gmp/5.0.2/lib
。由于已设置标题搜索路径,您现在应该能够包含头文件,如下所示:
#include <gmp.h>
当然,将/opt/gmp/5.0.2
替换为安装gmp时使用的PREFIX路径。
最后,您通常不会将库安装到/usr/local/bin
,您可以安装到/usr/local
并将任何二进制文件安装到bin中,而像这样的库将安装到lib中。当然任何路径方案都可以使用,我通常建议使用/opt/<project-name>/<version-number>
,因为它可以让我更好地跟踪我已安装的内容,并且可以使用相同库和工具的多个版本,而无需处理冲突。
答案 1 :(得分:2)
我已将系统从雪豹更新为山狮,并且必须安装gmp
。
首先我安装了 Xcode CommandLineTools设置。
其次,安装 Homebrew 。然后,我已经在这个主题中完成了步骤:https://apple.stackexchange.com/questions/38222/how-do-i-install-gcc-via-homebrew
在我的最后一步,正如同事Marcus Karlsson所说,对xcode项目进行了更改。 它终于奏效了!非常感谢你:))