之前和之后的问题的简要总结。[Visual Studio 2010,调试 x64,使用 boost 1.49]
前:
1) Main.exe 包含并与数百个其他的 boost 链接,也使用 foo.lib
2) foo.lib 是一个独立的项目,没有任何外部依赖。
这工作正常,没有问题。
更改后:
1) 和以前一样
2)现在 foo.lib 也包含和 mutex.hpp ,我把适当的包含目录和 .lib 编译没有问题。我还将 boost lib 文件的位置放在 foo.lib 项目的属性页面的 Librarian 部分中。
现在,当我尝试链接我的 main.exe 程序时,它说:
LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc100-mt-gd-1_49.lib'
这让我觉得奇怪的是,文件名使用了“libboost”格式,因为这让我认为它使用了 boost 自动链接并且无法识别它是一个正在构建的 Windows 系统。(Windows 应该是“boost_thread....”
在 VERBOSE 链接中,我看到以下内容加载了我的 .lib 文件:
Loaded foo.lib(foo.obj)
1> Processed /DEFAULTLIB:libboost_thread-vc100-mt-gd-1_49.lib
1> Processed /DEFAULTLIB:libboost_date_time-vc100-mt-gd-1_49.lib
关于我在这里做错了什么的任何线索?