【发布时间】:2010-04-02 19:09:43
【问题描述】:
我刚刚下载并运行了 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: 没关系,它在发布模式或调试模式下不起作用,但不起作用的文件会适当更改(当我将运行时库更改为不同类型的多线程-我不认为单线程是一种选择,尽管它对我有用)。现在尝试命令行。
【问题讨论】:
-
那么,您确认文件确实存在吗?
-
当 BoostPro 安装程序提示时,您选择安装哪些库? “mt”表示多线程,“d”表示调试。
-
是的,文件在那里。第一次安装,我想我只是做了两个单线程版本,第二次,我安装了每个版本
-
在C:\Program Files\boost\boost_1_42\lib,我可以用Notepad++打开
-
您是否将该路径添加到项目的库路径中?
标签: c++ visual-c++ boost linker