2012-03-07 28 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