【问题标题】:How to link boost thread with Xcode如何将 boost 线程与 Xcode 链接
【发布时间】:2014-09-30 21:58:53
【问题描述】:

我已经使用网站构建了 Boost

./bootstrap.sh 
./b2 install

我认为所有安装都正确。我在/usr/local/include/boost 中有标题,在/usr/local/lib 中有库。

所有链接只要不包含boost/thread.hpp

// 
// main.cpp
// ising3
//
#include <boost/tuple/tuple.hpp>
#include <boost/tuple/tuple_comparison.hpp>
#include <boost/tuple/tuple_io.hpp>
#include <iostream>
#include <boost/date_time.hpp>
//#include <boost/thread.hpp>

using namespace ::boost::tuples;
using namespace ::boost;

int main(int argc, const char * argv[])
{

    // insert code here...
    std::cout << "Hello, World!\n";
    tuple<int,int> a,b,c;
    a=make_tuple(1,1);
    b=make_tuple(3,2);

    std::cout<<a;
    return 0;
}

运行和打印:

Hello, World!
(1 1)

但是,如果未注释,则失败:

我已将动态库 libboost_thread.a 和 libboost_thread.dylib 链接起来,并将 /usr/local/include 包含在头文件搜索路径中,将 /usr/local/lib 包含在库搜索路径中。

【问题讨论】:

  • 我已经删掉了你过多的问题。屏幕截图很糟糕,除非您无法复制/粘贴相关文本。不能指望人们会阅读这些混乱,并且您已将错误消息隐藏在 8 个(八个!!!?!)屏幕截图之一中。

标签: c++ xcode multithreading boost image-gallery


【解决方案1】:

您还应该链接到boost_system

错误提示需要boost::system::system_category(存在报错)。

【讨论】:

  • 你的意思是这两个库吗? libboost_filesystem-mt.a libboost_filesystem-mt.dylib
  • 我成功链接了 libboost_system-mt.a 和 libboost_system-mt.dylib 。谢谢
  • 我希望您了解到 (a) 提出一个好问题需要小心谨慎 (b) 阅读答案也是如此 :) 干杯
  • 非常感谢您的帮助:) 我一直在尝试一整天都没有成功,只是有点沮丧,只是尝试提供一些图片来准确显示正在发生的事情。谢谢你。我会学习的。
  • 我遇到了同样的错误。我设法将问题追溯到对 gcc-atomic.hp 头文件的调用。似乎 gcc 编译器应该提供信息但没有这样做,这对我来说表明它不适用于 Xcode。我以与链接 boost.framework 相同的方式链接了 glibbest_system-mt.a 和 glibbest_system-mt.dylib,但它没有帮助。你是怎么解决这个问题的?
猜你喜欢
  • 2016-06-14
  • 1970-01-01
  • 1970-01-01
  • 2017-05-14
  • 1970-01-01
  • 2011-04-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多