VC ++目录很奇怪

时间:2012-02-06 18:00:51

标签: c++ visual-studio-2010 visual-c++ linker

最近,我遇到了一些奇怪的链接器错误。

我被告知有两种方法可以使用库:

经由

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。

有没有人知道发生了什么?

1 个答案:

答案 0 :(得分:1)

即使您指定了其他包含目录,Visual Studio也不会自动尝试链接构​​建项目时存在的所有库文件。您必须执行额外步骤,将库文件名添加到其他依赖项列表中。附加的include目录仅有助于避免在附加依赖项列表中写入整个文件路径。

修改附加依赖项列表的另一种方法是使用#pragma指令。具体来说,使用

    #pragma comment("[lib file name]")

这将指示链接器链接您构建中的该文件。