【问题标题】:Simple Boost code doesn't build不构建简单的 Boost 代码
【发布时间】:2015-01-06 20:18:01
【问题描述】:

当我包含 asio 标头时:

#include <boost/asio.hpp>

我得到了错误:

undefined reference to boost::system::generic_category()

所以我读到我必须链接到boost_system,我这样做了。但现在它给出了错误::

cannot find -lboost_system

为什么找不到boost_system。我在 Windows 上使用代码块。

【问题讨论】:

标签: c++ windows boost codeblocks


【解决方案1】:

boost 是一个单独的库,需要安装在您的构建机器上。 请按照以下说明进行安装: http://www.boost.org/doc/libs/1_55_0/doc/html/bbv2/installation.html http://www.boost.org/ 安装后,如果应用程序未安装在标准位置,则需要能够找到它。

您需要为构建过程提供头文件和 lib 目录。

g++ source source.cpp -I/path to boost headers -L path to boost libs -lboost_system

查看你的 libs 目录以确保你有 boost_system。根据构建,您可能只有 boost_system-mt

【讨论】:

  • 很奇怪。当我查看“C:\Program Files\boost_1_55_0\libs”内部时,我找不到任何名为 boost_system 的东西。这只是一堆其他文件夹。
  • 我已经更新了我的答案。看来您只是下载并没有引导和安装。
  • 安装 Boost.Build 时 PREFIX 应该是什么?可以是我想要的任何东西,还是需要在某个特定的地方?
  • 它真的可以在任何地方。但请尽量将其放在便于开发的位置。
  • 我是否必须创建一个文件夹来放入它,或者它会自己创建一个文件夹(它不会用文件淹没目录)?
猜你喜欢
  • 1970-01-01
  • 2012-07-14
  • 2013-08-29
  • 2019-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多