我可以成功建立和使用一个库。仅当库和另一个项目在同一解决方案中时才使用后者。
我将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/