【问题标题】:Statically link Boost Thread 1.56 lib in an Xcode 6 project在 Xcode 6 项目中静态链接 Boost Thread 1.56 lib
【发布时间】:2014-10-09 20:12:52
【问题描述】:

我有一个非常简单的 Xcode 6 项目,我试图在其中静态链接到 boost_thread 和 boost_system。我已经构建了库(我有 libboost_thread.a 和 libboost_system.a),我已经包含了所有正确的标题/库搜索路径、标志等,就像我对项目中的任何其他静态库所做的那样,并且项目成功构建,但是当我运行它时,它给了我一个运行时 dlopen 错误,它找不到 boost_thread.dylib 库?!

我没有链接到任何 boost lib 的任何 dylib 版本,只有这两个静态版本。为什么要尝试动态加载库?谁能告诉我这是怎么回事?

谢谢

【问题讨论】:

  • 进一步,otool -L 表明应用程序实际上依赖于 libboost_thread.dylib ?!就像我说的,我在这个项目中没有使用任何dylib,那么boost肯定在幕后做些什么?

标签: xcode boost static-linking boost-thread boost-system


【解决方案1】:

快速修复: 清除 boost 并使用 link=static 再次运行 bjam

对于任何偶然发现此问题的人的解释,这就是问题所在:

我已经使用默认配置构建了整个 boost 包。但是,无论出于何种原因,这都不包括系统和线程的静态库。在 sith link=static 之后运行 bjam 实际上确实构建了库,但无论出于何种原因,它们都指向 dylib...

【讨论】:

    猜你喜欢
    • 2012-03-23
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    相关资源
    最近更新 更多