不构建简单的 Boost 代码
Posted
技术标签:
【中文标题】不构建简单的 Boost 代码【英文标题】:Simple Boost code doesn't build 【发布时间】: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 上使用代码块。
【问题讨论】:
它在哪里寻找 boost_system? @zmbq 我将库路径设置为“C:\Program Files\boost_1_55_0\libs” C++ Boost: undefined reference to boost::system::generic_category()的可能重复 @l'L'l 那里的答案说链接到-lboost_system
。但这就是首先给我这个错误的原因。
【参考方案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
应该是什么?可以是我想要的任何东西,还是需要在某个特定的地方?
它真的可以在任何地方。但请尽量将其放在便于开发的位置。
我是否必须创建一个文件夹来放入它,或者它会自己创建一个文件夹(它不会用文件淹没目录)?以上是关于不构建简单的 Boost 代码的主要内容,如果未能解决你的问题,请参考以下文章