我有一个非常简单的c ++ dll,将两个数字相加。源文件看起来像:
extern "C" {
__declspec(dllexport) double __stdcall myadder(double a,double a)
{
return (a+b);
}
}
带有def文件:
LIBRARY myadder
EXPORTS
_myadder@16
exe的代码是:
#include "stdio.h"
__ declspec(dllimport) double myadder(double a, double b);
int main()
{
double r;
r=myadder(5,6);
printf("myadder = %f \n",r);
return 0;
}
,我告诉它使用myadder.lib及其路径来限定。但是我得到了错误:
1>helloworld.obj : error LNK2019: unresolved external symbol __imp__myadder referenced in function _main
1> C:\ lotus \ optfunc \ helloworld \ Debug \ helloworld.exe:致命错误LNK1120:1个未解决的外部组件
如果我摆脱了__declspec(dllimport),我就会得到:
1>helloworld.obj : error LNK2019: unresolved external symbol _myadder referenced in function _main
我在做什么错了?