【发布时间】:2013-12-24 01:38:40
【问题描述】:
如何说服 MSVC9 链接器向我显示它正在搜索的路径包括库 (libs)?
我正在尝试解决出现以下链接器错误的问题:
LINK : fatal error LNK1104: cannot open file 'MyGizmo.lib'
在 Linker > General 下,我将 Additional Library Directories 设置为:
..\..\..\x64\Release
我想,我要查找的 lib 文件所在的位置。
当我将此路径更改为 lib 文件所在的完全限定目录时,链接器会传递并找到 lib 文件。因此,我得出结论,我上面输入相对路径的方式是不正确的。如果路径是相对于源代码所在的位置,那么这个相对路径应该是正确的。
那么我如何告诉 MSVC9 链接器告诉我它认为 ..\..\..\x64\Release 解析为什么?
【问题讨论】:
-
由于您确切地知道您的库所在的位置,您可能需要考虑使用通过宏的完全限定路径(例如
$(SolutionDir))。您也可以将它们与相对路径结合起来:$(SolutionDir)..\..\..\x64\Release。这样您就不必依赖当前的工作目录。 -
不能保证 2008 年,但在 2005 年和 2010 年,路径都是相对于项目目录(不是解决方案目录)
-
@IInspectable:这是我尝试过的,但也没有用。这就是最终导致我挠头发帖的原因。
-
@John 这很奇怪。无论如何,要回答您最初的问题,您应该指定 /VERBOSE:LIB 链接器选项。这将打印库搜索过程的输出(包括完整路径)。
-
@IInspectable:我也这样做了,但它没有显示 路径——它只显示了它正在考虑的库。
标签: c++ visual-studio visual-studio-2008 linker