如何链接Xcode 4中的库?

Vor*_*ico 3 c xcode gmp xcode4

我是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.任何有助于我最终解决方案的帮助将不胜感激.

小智 8

您必须在Xcode项目中设置一些内容.例如,我安装了gmp /opt/gmp/5.0.2,我将以此为例.将实际库安装/opt/gmp/5.0.2/lib到头文件中/opt/gmp/5.0.2/include.安装库时,设置--PREFIX标志/opt/gmp/5.0.2会自动处理.如果未设置此标志,则前缀通常/usr/local默认设置为.

  1. 其它链接器标记看起来正确的,它应该是库的名称.
  2. 在我的例子中,将标题搜索路径设置为包含目录/opt/gmp/5.0.2/include.
  3. 在我的例子中,将Library Search Path设置为lib目录/opt/gmp/5.0.2/lib.

由于已设置标头搜索路径,您现在应该能够像这样包含头文件:

#include <gmp.h>
Run Code Online (Sandbox Code Playgroud)

当然,替换/opt/gmp/5.0.2为安装gmp时使用的PREFIX路径.

最后,您通常不安装库/usr/local/bin,您可以安装/usr/local并将任何二进制文件安装到bin中,而像这样的库将安装到lib中.当然任何路径方案都可行,我通常建议,/opt/<project-name>/<version-number>因为它允许我更好地跟踪我已经安装的内容,并且拥有相同库和工具的多个版本,而不必处理冲突.