2 xiaoman0000 xiaoman0000 于 2014.11.18 19:23 提问

创建dll时,头文件的函数定义为static时报错“Diff” 必须有外部链接才可进行导出/导入
dll

// riser.h

#ifdef RISER_EXPORTS
#define RISER_API __declspec(dllexport)
#else
#define RISER_API __declspec(dllimport)
#endif

static RISER_API bool Diff(double d1,double d2,double Err);

1个回答

YoerShine
YoerShine   2014.11.18 22:30
已采纳

不可以导出静态函数的,回顾下static修饰函数时的作用就明白了。

xiaoman0000
xiaoman0000 突然明白了,谢谢了。
3 年多之前 回复
xiaoman0000
xiaoman0000 突然明白了,谢谢了。
3 年多之前 回复
xiaoman0000
xiaoman0000 这样的话dll就可以编译通过呢?
3 年多之前 回复
xiaoman0000
xiaoman0000 为何我把static标记放到// Riser.cpp : 定义 DLL 应用程序的导出函数。static bool Diff(double d1,double d2,double Err) { return (fabs(d1-d2)/(fabs(d1)+fabs(d2)+Err)>Err); }
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!