我现在一直在谷歌搜索,我似乎无法解决这个问题。
我有一个标题,它将一些函数导出到库中。该文件名为test_extern.h,函数如下所示:
__declspec(dllexport) int aFunction(int a, int b);
我有两个其他文件,一个.h和.cpp,它们借助导出的文件计算一些东西。我已经删除了版本以显示我想要做的事情。
A.h档案:
// Include CBaseDILI_J1939 header file.
class A : public CBaseDILI_J1939
{
public:
int bFunction(int a, int b);
}
A.cpp文件:
#include "test_extern.h"
#include "A.h"
int A::bFunction(int a, int b) {
return aFunction(a, b); // REturn the value of the exported function!
}
现在当我运行时,我收到“错误LNK2019:未解析的外部符号_ imp _aFunction”。
我已阅读并阅读有关导出dll的所有内容,是否有人知道我可能做错了什么?
答案 0 :(得分:2)
您必须将调用模块中的dll函数声明为dllspec(dllimport)。
答案 1 :(得分:2)
@Karadur是对的。
检查此链接上的示例:http://msdn.microsoft.com/en-us/library/799kze2z.aspx。 答案在本页底部。
在A.cpp中将此添加到顶部。
__declspec(dllimport) int aFunction(int a, int b);