我如何说服 MSVC9 链接器向我显示它正在搜索包含库 (lib
) 的路径?
我正在尝试解决出现以下链接器错误的问题:
LINK : fatal error LNK1104: cannot open file 'MyGizmo.lib'
在 Linker> General 下,我将 Additional Library Directories 设置为:
..\..\..\x64\Release
我认为这是我要查找的 lib 文件所在的位置。
当我将此路径更改为 lib 文件所在的完全限定目录时,链接器通过并找到 lib 文件。因此,我得出结论,我在上面输入相对路径的方式是不正确的。如果路径是相对于源代码所在位置的路径,则此相对路径应该是正确的。
那么我如何告诉 MSVC9 链接器告诉我它认为 ..\..\..\x64\Release
解析为什么?
最佳答案
在上面发布我的问题后,我想出了一种方法来做到这一点。我不知道这是否是一个可取的方法,但它对我有用并且我能够解决问题。
我创建了一个自定义的预链接步骤,它只是发出一个不带参数的 cd
命令,以显示当前工作目录。
在配置属性> 构建事件> 预链接事件下,我将命令行属性设置为:
cd
再次构建时,输出为:
1>------ Build started: Project: MyThingy, Configuration: Release x64 ------
1>Performing Pre-Link Event...
1>c:\build\VS2008\SuperWare\Some\Library\
1>Linking...
我要查找的库位于:
c:\build\vs2008\SuperWare\Tools\Gizmo\x64\Release
由此我能够推断出我需要的相对路径是:
..\..\Tools\Gizmo\x64\Release
我相应地更改了 Additional Library Directories 属性,构建成功。
关于c++ - Visual Studio 9 : Display Linker Search Paths,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20428375/