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

时间:2016-12-06 10:18:55

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

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

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

  1. " C / C ++ - General - 附加包含目录"
  2. " Linker - General - 其他图书馆目录"
  3. 我还将文件名添加到"链接器 - 输入 - 附加依赖项"。 作为测试,我试图指定错误的文件名 - 这导致LNK1104错误(当指定了正确的名称时不会发生)。

    出于某种原因,一旦我#include库标题(.h文件)进入我的main.cpp文件,就会出现"系统错误" accures -

      

    程序无法启动,因为您的计算机缺少external_dll.dll [..]

    出于某种原因,链接器根据.dll d标题的名称查找#include文件 - 尽管事实上我已将项目与静态库链接( .lib文件)。

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

    我在这里遗漏了什么吗?

2 个答案:

答案 0 :(得分:1)

如果是这样的话: -

"由于某种原因,链接器根据#included标头的名称查找.dll文件 - 尽管事实上我已将项目与静态库(.lib文件)相关联)"

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

此外,还有排除字段,如果您无法执行上述操作,您可以尝试排除您遇到的dll文件,然后从那里获取。

答案 1 :(得分:0)

您的应用程序只是找不到DLL文件。最简单的解决方案是将该DLL放入包含exe文件的文件夹中。