在Visual Studio2008中加载现有的MFC应用程序后,我留下了一个链接错误:
LINK : fatal error LNK1104: cannot open file '..\..\xpressmp\lib\xprm_rt.lib'
我看了“所有地方”,但我不知道相对路径设置在哪里。lib文件位于C:\xpressmp\lib,我已经在Tools-Options->Projects and Solutions->VC++ directory -> Library files and Project->Properties->Linker->Additional Library directory下添加了这个目录。我也搜索了项目中的所有文件,但都无济于事。
我将库文件(xprm_rt.lib)列在调试和发布的附加依赖项下。我也尝试在那里添加路径,但没有帮助。我找不到任何#杂注注释指令。
关于LNK1104,该文件显然不存在于链接器正在搜索的位置。但我不明白它为什么要在那里搜索(..\..\
...)因为我没有指定任何相对路径。
感谢任何帮助:-)
更新:在项目.vcproj文件中,我找到了以下xml:
<File RelativePath="..\..\XpressMP\lib\xprm_rt.lib"></File>
<File RelativePath="..\..\XpressMP\lib\xprs.lib"></File>
删除这些行(它们是在哪里设置的?)之后,我就可以成功链接了。感谢你的帮助,似乎相对库路径确实是由VS“自动”附加的。
谢谢你们两位,我想是尼克让我走上了正轨。
发布于 2009-02-03 06:35:58
对我来说,这听起来像是几种可能性之一:
库本身正在通过#注释(
的情况
这就是我所能想到的可能导致错误的原因;希望它能有所帮助。
发布于 2009-02-03 02:10:43
在项目属性中,查看每个项目配置(调试、发布等)的配置属性->链接器-> Input -> Additional Dependencies。另外,在代码中查找#pragma comment(lib, ...)
指令。
由于您已经将C:\xpressmp\lib
文件夹添加到VC++目录中的库搜索路径,因此请检查是否仅在Additional Dependencies下指定了库文件名,并且不包括路径(即xprm_rt.lib
,而不是..\..\xpressmp\lib\xprm_rt.lib
)。
另外,您是否尝试过LNK1104 error documentation中的每种解决方案
发布于 2009-02-03 02:23:59
谢谢你回答得这么快!
我将库文件(xprm_rt.lib
)列在调试和发布的附加依赖项下。我也尝试在那里添加路径,但没有帮助。我找不到任何#pragma comment
-directives。
关于LNK1104,该文件显然不存在于链接器正在搜索的位置。但我不明白它为什么要在那里搜索(..\..\...
)
https://stackoverflow.com/questions/506522
复制相似问题