Joh*_*ing 5 c++ linker visual-studio-2008 visual-studio
如何说服 MSVC9 链接器向我显示它正在搜索包含库的路径lib?
我正在尝试解决出现以下链接器错误的问题:
LINK : fatal error LNK1104: cannot open file 'MyGizmo.lib'
Run Code Online (Sandbox Code Playgroud)
在Linker > General下,我将其他库目录设置为:
..\..\..\x64\Release
Run Code Online (Sandbox Code Playgroud)
我想,这就是我要查找的 lib 文件所在的位置。
当我将此路径更改为 lib 文件所在的完全限定目录时,链接器会传递并查找 lib 文件。因此,我得出结论,我上面输入相对路径的方式是不正确的。如果路径是相对于源代码所在位置的,则该相对路径应该是正确的。
那么我如何告诉 MSVC9 链接器告诉我它认为..\..\..\x64\Release解析的是什么?
在上面发布我的问题后,我想出了一种方法来做到这一点。我不知道这是否是一个可取的方法,但它对我有用并且我能够解决问题。
我创建了一个自定义预链接步骤,它只是发出一个cd不带参数的命令来显示当前工作目录。
在Configuration Properties > Build Events > Pre-Link Event下,我将Command Line属性设置为:
cd
Run Code Online (Sandbox Code Playgroud)
再次构建时,输出为:
1>------ Build started: Project: MyThingy, Configuration: Release x64 ------
1>Performing Pre-Link Event...
1>c:\build\VS2008\SuperWare\Some\Library\
1>Linking...
Run Code Online (Sandbox Code Playgroud)
我正在寻找的图书馆位于:
c:\build\vs2008\SuperWare\Tools\Gizmo\x64\Release
Run Code Online (Sandbox Code Playgroud)
由此我可以推断出我需要的相对路径是:
..\..\Tools\Gizmo\x64\Release
Run Code Online (Sandbox Code Playgroud)
我相应地更改了“附加库目录”属性,并且构建成功。
| 归档时间: |
|
| 查看次数: |
2661 次 |
| 最近记录: |