2012-03-07 62 views
3

我使用的XCode 3.2,並且已經安裝使用的MacPorts項目(發佈和調試)升壓但是我很茫然,讓我的應用程序使用的boost ::文件系統鏈接XCode中3.2(MacPorts的)鏈接提高文件系統

我已經將我的庫搜索路徑設置爲/ opt/local/lib,但在鏈接項目時仍然會得到未解決的引用。

我注意到在另一篇文章中將-lboost_system添加到「其他鏈接器標誌」,但是當我這樣做時,我得到 - libboost_system.dylib文件是爲不支持的文件格式構建的,而不是被鏈接的架構(i386)。

是MacPorts沒有安裝正確的庫或我缺少其他東西?

馬丁

回答

5

您沒有說明什麼操作系統版本,與建立它。我的猜測是MacPort在構建和安裝端口時默認爲x64。從MacPort提升Uninstall,然後用通用variant重新安裝。

%% sudo port uninstall boost 
%% sudo port install boost +universal 
+0

我剛剛注意到這個變體,現在正在測試它 - 我即將發佈,我想我找到了它。謝謝。很快會回覆。 – Martin 2012-03-07 05:27:21

+0

這樣做 - 再次感謝! – Martin 2012-03-07 05:43:20

1

這可能是該庫的名稱是不完全boost_system但也許boost_system-mt(該-mt是因爲升壓與線程安全編譯),甚至一些其他後綴。

可以肯定的,你可以看一下名/opt/local/lib

find /opt/local/lib -name "libboost_system*" 
+0

我試過所有的變化(-d/-mt/-mt -d),它們都給出了相同的錯誤。感謝您的建議。 – Martin 2012-03-07 02:31:42

+0

你嘗試過'find'建議嗎?結果是什麼? – Simon 2012-03-07 02:50:17

+0

我得到的8個文件:libboost_system-DA, libboost_system-d.dylib, libboost_system-MT-DA, libboost_system-MT-d.dylib, libboost_system-mt.a, libboost_system-mt.dylib, libboost_system。 a, libboost_system.dylib, – Martin 2012-03-07 03:08:35