最近,我遇到了一些奇怪的链接器错误。
我被告知有两种方法可以使用库:
经由
Project Properties > VC++ Directories > Include Directories
Project Properties > VC++ Directories > Library Directories
或通过
Project Properties > C/C++ > General > Additional Include Directories
Project Properties > Linker > General > Additional Library Directories
Project Properties > Linker > Input > Additional Dependencies
最近,有时当我使用VC ++ Directories方式时,我收到一个链接器错误,说某些函数没有定义。当我将函数定义所在的库文件添加到Additional Dependencies时,它会突然找到它。 但是如果你使用VC ++目录,通常你根本就不应该使用附加依赖项,对吧?
这已经多次发生,让我感到困惑。它在过去的项目中运行良好,但现在不再适用。有时,VC ++方式甚至可以在另一台PC上运行,但不适用于我的。 我一直在使用VS2010,我还在使用VS2010。
有没有人知道发生了什么?
答案 0 :(得分:1)
即使您指定了其他包含目录,Visual Studio也不会自动尝试链接构建项目时存在的所有库文件。您必须执行额外步骤,将库文件名添加到其他依赖项列表中。附加的include目录仅有助于避免在附加依赖项列表中写入整个文件路径。
修改附加依赖项列表的另一种方法是使用#pragma指令。具体来说,使用
#pragma comment("[lib file name]")
这将指示链接器链接您构建中的该文件。