C++ - 无法链接到 VS2015 中的静态库

标签 c++ visual-studio-2015 linker linker-errors

我正在尝试将我的项目(C++ 控制台应用程序)链接到外部静态库(基本上是一个 .lib 文件和一个 .h 头文件),在Visual Studio 2015。

我添加了包含 .lib 的文件夹的路径(我创建的特定文件夹,在项目的根文件夹下,仅包含 .lib 文件),在项目属性,以

  1. “C/C++ - 通用 - 附加包含目录”
  2. “链接器 - 通用 - 附加库目录”

而且我还在“链接器 - 输入 - 附加依赖项”中添加了文件名。 作为测试,我试图指定错误的文件名 - 这导致了 LNK1104 错误(当指定了正确的名称时不会发生)。

出于某种原因,一旦我将库 header (.h 文件)#include 放入我的main.cpp 文件中,“系统错误” accures -

The program can't start because external_dll.dll is missing from your computer [..]

出于某种原因,链接器根据 #included header 的名称查找 .dll 文件 - 尽管我已经链接了带有静态库的项目(.lib 文件)。

这个.dll文件当然不存在。

我是不是漏掉了什么?

最佳答案

如果是以下情况:-

“出于某种原因,链接器根据#included header 的名称查找 .dll 文件 - 尽管我已经将项目与静态库(.lib 文件)链接起来。”

那么应该有一些方法可以禁用这个功能,我的意思是在VS2015的项目设置中,应该能够让链接器停止寻找dll文件对应的dll#include头文件。

还有排除字段,如果您不能执行上述操作,您可以尝试排除您遇到的 dll 文件,然后从那里取出它。

关于C++ - 无法链接到 VS2015 中的静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40992897/

相关文章:

.net - VirtualBox 上的共享文件夹未使用 Visual Studio 2015(网站项目)打开

tomcat下的java.lang.UnsatisfiedLinkError

c++ - qsort是否使用堆内存?

c++ - 父类方法中不兼容的 cv 限定符

Visual Studio 2015 中的 Angular 2 cli 集成

visual-studio-2015 - Visual Studio 2015 中的 C++ AMP : Compiler/runtime bug or buggy sample?

linux - 在 --gc-sections 之后更新链接器变量

linker - fatal error C1900 : Il mismatch between 'P1' version '20060201' and 'P2' version '20050411'

c++ - 可视化应用程序表单设计器

c++ - 如何避免在 C++ 中使用异常?