0

我正在尝试为 Visual Studio 9.0 构建 boost.thread 库。我使用 bjam 来构建 lib 文件:

bjam toolset=msvc-9.0 variant=release threading=multi link=shared

编译成功,我在 boost/stage/lib 下得到了大量的 .lib 和 .dll 文件。然后我在 Visual Studio 9.0 中添加了包含路径和上述 lib 路径。

但是当我尝试编译一些程序时,我总是得到以下错误:

libboost_thread-vc90-mt-s-1_49.lib cannot be opened.

构建创建的 lib 文件有一个稍微不同的名称:

boost_thread-vc90-mt-1_49.lib

我试图重命名我的文件以匹配预期的名称,但 Visual Studio 仍然找不到该文件。似乎搜索的文件名取决于项目选项“C/C++/代码生成/运行时库”。我需要“多线程/MT”选项。

我究竟做错了什么?

先感谢您。

4

1 回答 1

0

您正在尝试使用 CRT 静态链接,但动态链接 - 使用 Boost。这不是一个好主意,但如果你坚持,你应该定义 BOOST_ALL_DYN_LINK 宏。更好的选择是在项目选项中选择 /MD,或者在构建 boost 时设置“link=static”。

于 2012-06-11T08:16:12.650 回答