2011-03-28 35 views
1

对于基本问题,我表示歉意。我已经搜索了一个很低的答案,但我迄今还没有成功,所以我希望这可以帮助其他初学者程序员。在Xcode 4项目中包含动态库

我安装了MacPorts,然后安装了我之后的外部库:ImageMagick。从我的研究中,我知道MacPorts将dylib放在/opt/local/lib/文件夹中:image。我也知道头文件位于/opt/local/include/ImageMagick/文件夹中。

我想我会从example program开始看它是如何运行的。我做了一个新的项目,一个C命令行工具,然后将第一个例子复制到main.c。我现在想将ImageMagick库添加到我的项目中。

然后,如何将文件与我的Xcode项目链接起来以便#include <wand/MagickWand.h>有效?

回答

2

我有与iPad项目的外部库类似的困难。看起来似乎无法使模拟器和设备都变得快乐起来。但是,对于您的测试案例,您可以尝试以下操作:

  1. 在项目导航器中选择您的项目。应该是最上面的项目。
  2. 在最顶部的详细信息窗格中,您应该看到选项卡标签列表,选择“构建设置”选项卡。
  3. 向下滚动直到找到“LLVM GCC 4.2 - 语言”部分。
  4. 找到“其他C标志”,并根据需要展开它。您将看到两个子项调试和发布。
  5. 现在只修改调试项目,包括路径指令一样 -

    I/opt/local/include/ImageMagick 
    

以上可以让你的代码编译,但现在你需要得到它的链接。您将需要添加一个额外的链接选项。

  1. 在构建设置面板中找到“链接”部分。
  2. 在“链接”部分中,找到“其他链接器标记”并在需要时展开它。
  3. 现在修改“调试”子项。有几种方法可以添加您需要的库:

    随着库搜索路径和库指令,如下所示

    -L/opt/local/lib -lImageMagic 
    

    有了一个完整路径库

    /opt/local/lib/libImageMagic.dylib (note sure that is the actual file name) 
    

这些变化工作对我而言,至少直到我找到真正的XCode 4方式来做到这一点。这是非常笨拙的,因为这是正确的方法。希望有人找出正确的方法。

+0

当我有机会测试它时,我会告诉你它是如何发生的。在与ImageMagik讨论之前,我目前正在通过斯坦福大学的讲座来更深入地了解SDK。 – bjz 2011-04-07 04:14:28

+0

这很有趣:http://stackoverflow.com/questions/458805/force-static-linking-of-library-linked-to-xcode-target ...看起来你实际上不能将动态库包含在一个ios项目中。我忽略说的是我想到的预定项目。 – bjz 2011-05-02 09:54:45