【问题标题】:Linking with Boost error与 Boost 错误链接
【发布时间】: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


【解决方案1】:

文档与我的实际安装略有不同。在文档的路径中有“boost_1_42_0”的地方,安装程序将我的路径设为“boost_1_42”。修复后,它就可以工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-10
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多