【问题标题】:Installing Boost To Work With CodeBlocks安装 Boost 以使用 CodeBlocks
【发布时间】:2012-04-03 00:27:59
【问题描述】:
我正在尝试安装 Boost,以便可以将它与 MinGW 和代码块一起使用。我正在运行 Code Blocks 10.05 和 Codeblocks 网站上下载的 MinGW 版本。我已经从http://www.boost.org/ 下载了 Boost 1.49.0。我已经看到了几个不同的安装 Boost 指南(即从源代码构建)。但是,它们似乎都没有很好地发挥作用,我被困在最初的步骤中。我尝试在基本目录 /boost_1_49_0 和 /boost_1_49_0/tools/build/v2 中运行 bootstrap.bat。
两者都会产生一个弹出窗口,告诉我我缺少 mspdb100.dll。我需要以某种方式获取这个 dll 吗?我是否按照错误的程序进行安装?
【问题讨论】:
标签:
c++
boost
installation
mingw
codeblocks
【解决方案1】:
发生此错误时,bootstrap.bat 不会构建它所说的错误日志,因此这基本上是无用的。但是,卸载 Microsoft Visual C++ 会导致 dll 错误消失并生成日志文件。它表明它尝试使用 msvc 而不是 gcc 来构建项目。所以与几个指南中给出的方向不同,此时必须指定工具包:
bootstrap.bat gcc
然后它会提示您运行一个名为 b2 的文件,该文件可以使用选项(以及其他选项)构建。
b2 --build-dir=C:\exampledir toolset=gcc
似乎为了使用 boost,您必须在 <builddir>\boost\bin.v1\libs\system 中显式添加文件。否则,您会收到如下错误:
In function `_static_initialization_and_destruction_0':|
C:\removed\boost_1_49_0\boost\system\error_code.hpp|214|undefined reference to `boost::system::generic_category()'|
C:\removed\system\error_code.hpp|215|undefined reference to `boost::system::generic_category()'|
C:\removed\boost_1_49_0\boost\system\error_code.hpp|216|undefined reference to `boost::system::system_category()'|
可以在代码块中找到链接器选项,方法是转到项目 -> 构建选项 -> 链接器设置 -> 添加。即使您将构建目录添加到链接器搜索目录中,显式添加这些库似乎也是必要的。