DLL无法导出函数问题

xmokay 2008-09-06 12:09:48
代码中这样写的:

ColorChoose mycolorchoose;
extern "C" ColorChoose* _declspec(dllexport) GetCSModule()
{
return &mycolorchoose;
}

ColorChoose是一个类;
编译的时候出现如下问题:

--------------------Configuration: ColorChoose - Win32 Debug--------------------
Compiling...
ColorChoose.cpp
D:\work\InterfaceTest\ColorChoose\ColorChoose.cpp(45) : warning C4518: '__declspec(dllexport ) ' : storage-class or type specifier(s) unexpected here; ignored
Linking...
Creating library Debug/ColorChoose.lib and object Debug/ColorChoose.exp
Creating browse info file...

ColorChoose.dll - 0 error(s), 0 warning(s)


我是在VC环境下编译的。编译后的DLL用depends 查看,发现根本就没有导出这个函数。请高大家帮着看看,是怎么回事。先谢谢了。
...全文
162 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnzdgs 2008-09-06
  • 打赏
  • 举报
回复
_declspec(dllexport)要放到ColorChoose*的前面。
zhouzhenyan 2008-09-06
  • 打赏
  • 举报
回复
干嘛加extern "C"呢?防止名字改编的话,用def文件好了。
lizhigang34 2008-09-06
  • 打赏
  • 举报
回复
DLL好像不能导出类吧
「已注销」 2008-09-06
  • 打赏
  • 举报
回复
用extern "C" ,就可以不用DEF文件了吧
UDX协议 2008-09-06
  • 打赏
  • 举报
回复
晕看错了。你是c方式,c不支持导出类的。
UDX协议 2008-09-06
  • 打赏
  • 举报
回复
需要加上def文件。在网上收一下,如何导出函授。
「已注销」 2008-09-06
  • 打赏
  • 举报
回复
是6楼说的问题。但我不找到为什么返回类型是void 、int的导出函数就可以把 _declspec(dllexport) 放到void、int的后面

15,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧