在Visual Studio 2008中加载现有的MFC应用程序后,我留下了一个链接错误:
LINK : fatal error LNK1104: cannot open file '..\..\xpressmp\lib\xprm_rt.lib'
我看过“无处不在”,但我无法弄清楚相对路径的设置位置。 lib文件位于C:\ xpressmp \ lib中,我在Tools-Options-> Projects and Solutions-> VC ++ Directories-> Library files和Project-> Properties-&gt下添加了这个目录。 ;链接器 - >其他库目录。我还搜索了项目中的所有文件都无济于事。
我在调试和发布的附加依赖项下列出了库文件(xprm_rt.lib)。我也尝试在那里添加路径,但这没有帮助。我找不到任何#pragma comment-directives。
关于LNK1104,链接器正在搜索的位置中显然不存在该文件。但我不明白为什么它在那里搜索(..\..\
...),因为我没有指定任何相对路径。
任何帮助表示赞赏: - )
更新: 在项目.vcproj文件中,我找到了以下xml:
<File RelativePath="..\..\XpressMP\lib\xprm_rt.lib"></File>
<File RelativePath="..\..\XpressMP\lib\xprs.lib"></File>
删除这些行后(它们在哪里设置?),我能够成功链接。感谢您的帮助,似乎相对库路径确实被VS“自动”追加。
谢谢你们两位,我认为尼克让我走上正轨。
答案 0 :(得分:4)
在项目属性中,查看配置属性 - &gt;链接器 - &gt;输入 - &gt;附加依赖项,用于每个项目的配置(调试,发布等)。另外,在代码中查找#pragma comment(lib, ...)
指令。
当您将C:\xpressmp\lib
文件夹添加到VC ++目录中的库搜索路径时,请检查是否仅在Additional Dependencies下指定了库文件名,并且这不包括路径(即{{1 },而不是xprm_rt.lib
)。
另外,您是否尝试过LNK1104 error documentation?
中的每个解决方案答案 1 :(得分:1)
这听起来像是我的几种可能性之一:
这就是我能想到的可能导致错误的东西;希望它有所帮助。
答案 2 :(得分:0)
感谢您迅速回答!
我在调试和发布的附加依赖项下列出了库文件(xprm_rt.lib
)。我也尝试在那里添加路径,但这没有帮助。我找不到任何#pragma comment
- 指令。
关于LNK1104,链接器正在搜索的位置中显然不存在该文件。但我不明白为什么它在那里搜索(..\..\...
)