有没有办法在教程中只将一个函数导出到DLL cos,它们总是使用类似的东西导出类:
static __declspec(dllexport) double Add(double a, double b);
在一个类中,上面的语句不会引起任何问题,但是没有它给出的类:
dllexport/dllimport requires external linkage
答案 0 :(得分:17)
问题是“静态”限定符。你需要删除它,因为在这种情况下它意味着错误的东西。试试吧:
__declspec(dllexport) double Add(double a, double b);
这是编译DLL时头文件中需要的内容。现在要从使用DLL的程序访问该函数,您需要有一个头文件:
double Add(double a, double b);
如果使用#ifdefs,则可以将相同的头文件用于这两个目的:
#ifndef MYDLL_EXPORT
#define MYDLL_EXPORT
#endif
MYDLL_EXPORT double Add(double a, double b);