C ++库在发布配置中不链接(VS2010)

时间:2010-12-13 06:21:32

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

我一直在尝试让静态库(.lib文件)在VS2010中运行,并且我在调试配置中完美运行。但是,当我尝试在发布配置下编译它时,我收到错误error C1083: Cannot open include file: 'Library.h': No such file or directory

以下是当前情况:

  • 我桌面上的文件夹中有一个.lib文件和一个.h文件,名为Static Library
  • 我有INCLUDE环境变量指向前面提到的文件夹(所以我可以使用#include <Library.h>)。
  • 我也有LIB环境变量指向前面提到的文件夹。
  • 我已将.lib文件添加为附加依赖项,并为其他依赖项设置目录。

我的测试程序源代码如下:

#include <iostream>
#include <Windows.h>

#include <Library.h>

int main()
{
    std::cout << Library::GetValue(); // Returns 123.
    Sleep(10000);
    return 0;
}

我可能做错了什么?

1 个答案:

答案 0 :(得分:1)

不确定VS2010 ......但调试和发布模式可能有不同的库设置......

您可以通过指定以下

通知编译器链接至代码
#pragma comment(lib, "library.lib") // no ; is needed

这将使它在调试和发布中都链接