生成boost.thread - 找不到lib文件

时间:2012-06-10 21:32:00

标签: visual-c++ boost boost-thread

我正在尝试为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 ++ /代码生成/运行时库”。我需要选项“Multithreaded / MT”。

我做错了什么?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

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