急问:关于扩展dll的函数导出问题

onlycolor 2004-05-06 06:34:37
我在dll中定义了一个导出函数,函数原型如下:
extern "C" _declspec(dllexport) int cut(CString m_sSource,CString & m_sResult);
功能是调用dll中一个自定义类Result的成员函数。
Result类是一个普通C++类,含有其他自定义类的成员。


在dll调用实例的编译中出现了如下错误:
fatal error C1083: Cannot open source file:
'G:\Cut\Result\Result.cpp': No such file or directory


Result.cpp是dll的一个源文件,为什么在这里会提示link无法通过呢。
恳请大侠指点。
...全文
27 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
onlycolor 2004-05-07
我要导出的函数不是类的成员函数,而是一个普通的外部函数。
因为要导出的函数中包含了一些非MFC类对象,这些对象是我自定义的,所以需要在包含函数定义的cpp文件的开头include了几个自定义类的对象。
这是不是编译出错的原因呢?
使用扩展类的原因是要在dll和exe之间传递CString类,Msdn上说必须这样的。
如果不传CString,哪位大侠有什么方法可以传递Unicode字符串的?如果能的话我就直接用regular dll好了
郁闷啊……
  • 打赏
  • 举报
回复
调用实例项目中只需要包含对导出函数的声明,不要把类的声明也放进去,还有调用类的成员需要保证有类的实例或该成员是静态成员。
  • 打赏
  • 举报
回复
onlycolor 2004-05-07
请问mscf:
我所能找到的书,实例程序当中介绍的扩展dll都是导出类的,
在扩展dll当中怎样导出函数呢?
能给我一个实例么?
定当重谢
  • 打赏
  • 举报
回复
videojet 2004-05-06
把Result.cpp从调用实例工程中去掉
  • 打赏
  • 举报
回复
onlycolor 2004-05-06
不是拉不是拉,Result.cpp是dll里的源文件。
  • 打赏
  • 举报
回复
anothervip 2004-05-06
编译时就有错。

看看你的文件路径是否正确。Result.cpp是否加进了工程。
  • 打赏
  • 举报
回复
相关推荐
发帖
进程/线程/DLL
加入

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
帖子事件
创建了帖子
2004-05-06 06:34
社区公告
暂无公告