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