我正在尝试为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”。
我做错了什么?
提前谢谢。
答案 0 :(得分:0)
你试图与CRT静态链接,但动态地与Boost链接。这不是一个好主意,但如果你坚持,你应该定义BOOST_ALL_DYN_LINK宏。 更好的选择是在项目选项中选择/ MD,或在构建boost时设置“link = static”。