我目前没有太多的互联网配额,所以我不想安装最新的 boost 库。相反,我使用 Synaptic Package Manager 和我的 Debian DVD 安装了 Boost 1.49。
既然已经安装了 boost,那么在编译代码时如何包含标头并链接到二进制文件?我还需要编译 boost 还是已经为我的机器编译了它?我可以运行bjam
,它会产生以下结果:
警告:未配置工具集。警告:配置默认工具集“gcc”。警告:如果默认值错误,您的构建可能无法正常工作。警告:使用“toolset=xxxxx”选项来覆盖我们的猜测。警告:有关更多配置选项,请参阅警告: http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html
错误:错误:在当前目录中找不到 Jamfile,并且未指定目标引用。
毫不奇怪,它找不到它要找的东西。给出的链接将我带到一个配置页面,该页面似乎不包含我正在寻找的内容。
在 Windows 中,我将文件解压缩C:/Program Files/Common Files
,然后运行bootstrap
,然后b2 ...
为我的 PC 编译 boost。这些说明似乎假设我们已经知道在哪里提升其实是...
答案1
首先,您不想使用bjam
,尽管 Boost 项目使用了它,并且似乎推荐它。这很糟糕。只需使用 make 代替,或者可能使用 cmake 或 scons。
其次,许多 Boost 库只是头文件,因此您不需要链接库。在少数情况下有是一个库,然后您必须使用 -l 链接该库库名照常。当然,也不需要指定库/头文件路径,因为系统知道它在哪里。
Debian Boost 二进制包当然是预编译的,因此您不必在 Boost 中编译任何内容。这就是二进制的意思。阅读文档,如果您无法弄清楚,请提供有关您要执行的操作的更多详细信息。