c++ - 链接 boost.asio

标签 c++ eclipse qt boost

我在链接 boost.asio 时遇到问题。它使用 boost.system 并且链接器错误以:

/boost_1_39_0/boost/system/error_code.hpp:205: 对 `boost::system::get_system_category()' 的 undefined reference

这意味着我需要链接 boost.system。我已经构建了 boost,现在我有几个 lib 文件。

  • boost_system-mgw32-d-1_39.dll 和库
  • libboost_system-mgw34-d-1_39.lib
  • libboost_system-mgw34-mt-d-1_39.lib
  • libboost_system-mgw34-sd-1_39.lib

还有一些。我如何链接它们?我用哪一个?我是否将它们全部复制在一起?

我的系统是win32+mingw+eclipse cdt+qt 4.5.2+qt integration for eclipse。我已经知道我需要在我的 .pro 文件的 LIBS= 部分。

你能给我一些提示吗?

谢谢。

最佳答案

这些库的命名基于是否启用多线程支持、静态和动态链接、调试和 Release模式等。以下是一些详细信息:

http://www.boost.org/doc/libs/1_39_0/more/getting_started/unix-variants.html#library-naming

我不确定 eclipse,因为我不使用它,但是对于 gcc(和 mingw),您需要指定一个目录来查找 (-L) 中的库和要链接的文件。例如,如果您想链接单线程调试版本:

-L/path/to/libraries -lboost_system-mgw34-sd-1_39

关于c++ - 链接 boost.asio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1245036/

相关文章:

c++ - 如何将重新绑定(bind)与自定义分配器和自定义列表一起使用

eclipse - 在 Eclipse 中调试时如何阻止其他线程窃取焦点?

c++ - Http 帖子不显示内容

java - 如何编译maven包上的classpath资源?

java - 如何判断一个数是否为质数

python - 非 PyQt 模块在 QApplication 启动后停止工作

c++ - 有没有办法停止 QGraphicsScene?

c++ - 将字符串写入文件末尾(C++)

c++ - Windows 中的 Qt : build environment and redistribution problems

c++ - GSL 的 Expects(cond) 对运行时的性能影响是什么?