我刚刚下载并运行了 1.42 版的 boost 安装程序(来自 boostpro.com),并根据入门指南设置了我的项目。但是,当我构建程序时,出现此链接器错误:
LINK : fatal error LNK1104: cannot open file 'libboost_program_options-vc90-mt-gd-1_42.lib'
构建日志添加了这个(我用 * 替换了项目特定的路径):
Creating temporary file "******\Debug\RSP00001252363252.rsp" with contents
[
/OUT:"*********.exe" /INCREMENTAL /LIBPATH:"C:\Program Files\boost\boost_1_42_0\lib" /MANIFEST /MANIFESTFILE:"Debug\hw6.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"********\Debug\***.pdb" /SUBSYSTEM:CONSOLE /DYNAMICBASE /NXCOMPAT /MACHINE:X86 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
".\Debug\****.obj"
".\Debug\****.exe.embed.manifest.res"
]
Creating command line "link.exe @********\Debug\RSP00001252363252.rsp /NOLOGO /ERRORREPORT:PROMPT"
我也给 info@boostpro.com 发了邮件(邮件与此非常相似),但我想这样会更快。
编辑: 是的,我在问这个问题之前检查了文件是否存在,是的,它的路径在链接器属性中,在“附加库目录”下(我试过和不带引号)。
编辑 2: 它肯定会看到路径,因为它出现在构建日志的第 3 行中......
编辑 4: 没关系,它在 Release模式或 Debug模式下不起作用,但不起作用的文件会适当更改(当我将运行时库更改为不同类型的多线程——我不认为单线程是一种选择,尽管它对我有用)。现在尝试命令行。
最佳答案
文档和我的实际安装之间存在细微差别。在文档路径中有“boost_1_42_0”的地方,安装程序使我的路径为“boost_1_42”。修复后,它就可以工作了。
关于c++ - 与 Boost 错误链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2568612/