2011-04-11 62 views
1

我目前正在創建一個靜態庫,其中包含我想提供給其他一些應用程序的功能。但是,我的靜態庫需要libxml2.dylib,並且編譯我的靜態庫目前失敗,因爲它無法訪問dylib。有沒有辦法鏈接我的靜態庫與動態庫?可能將我的靜態庫與Xcode中的動態庫鏈接?

回答

0

是的,這是可能的。但是,生成的靜態庫將對運行時的依賴性爲libxml2。請注意,您必須使用-L開關在鏈接時指定動態庫的位置。假設您使用MacPorts安裝了libxml2,則路徑爲/opt/local/lib

g++ -staticlib -o libyourlib.a file1.o file2.o -L/opt/local/lib -lxml2 
+0

感謝您的回覆。對不起,我想我應該提到我正在使用obj-c。是否有與使用xcodebuild命令的命令等價的東西? – jkt610 2011-04-13 06:26:04

+0

哦,應該暗示,因爲大多數人都這麼做...... :)我猜想有一個項目設置,而不是您可以使用的xcodebuild開關。目前還不清楚鏈接器給你的錯誤,所以我不能給你任何提示。但是,如果您鏈​​接的dylib位於框架內,請檢查「框架搜索路徑」以開始。 – vidstige 2011-04-13 08:24:42