我可以成功建立和使用一个库。仅当库和另一个项目在同一解决方案中时才使用后者。
我将isam.lib isam.dll isam.exp isam.h复制到一个名为lib的文件夹下。

然后我创建了一个新的解决方案。

设置链接器->输入以使用我的isam.lib ...构建失败,找不到该文件...
将VC++目录包括目录和库目录设置为lib文件夹...

构建成功..

我也为C / C++ General设置其他路径包括目录
设置链接器常规的附加库目录

建造还可以....

然后,我包括我的isam文件。

    #include "stdafx.h"
#include <isam.h>

    int _tmain(int argc, _TCHAR* argv[])
    {
        isopen("lamogio",2);
        return 0;
    }

构建失败...

错误1错误LNK2019:未解析的外部符号“__declspec(dllimport)int __cdecl isopen(char const *,int)”(_imp?isopen @@ YAHPBDH @ Z)在函数_wmain C:\ Users \ Parhs \ documents \ visual studio 2010中引用\ Projects \ testdll2 \ testdll2 \ testdll2.obj testdll2

错误2错误LNK1120:1无法解析的外部C:\ Users \ Parhs \ documents \ visual studio 2010 \ Projects \ testdll2 \ Debug \ testdll2.exe 1 1 testdll2

最佳答案

好吧,假设您通过链接器,输入,其他依赖项设置告诉链接器链接到isam.lib。那么,链接器错误的可能原因是您用C编写了isam代码,并在C++程序中使用它。您必须告诉编译器代码是用C编写的:

#include "stdafx.h"
extern "C" {
    #include <isam.h>
}

更典型的解决方案是将其放在isam.h文件中,以便无论哪种方式都可以使用。像这样:
#ifdef __cplusplus
  extern "C" {
#endif

// The declarations
//...

#ifdef __cplusplus
}
#endif

关于c++ - 无法链接到库…VS 2010 lib,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6405196/

10-11 22:54