2011-03-28 59 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