急问:关于扩展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无法通过呢。
恳请大侠指点。
...全文
49 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
onlycolor 2004-05-07
  • 打赏
  • 举报
回复
我要导出的函数不是类的成员函数,而是一个普通的外部函数。
因为要导出的函数中包含了一些非MFC类对象,这些对象是我自定义的,所以需要在包含函数定义的cpp文件的开头include了几个自定义类的对象。
这是不是编译出错的原因呢?
使用扩展类的原因是要在dll和exe之间传递CString类,Msdn上说必须这样的。
如果不传CString,哪位大侠有什么方法可以传递Unicode字符串的?如果能的话我就直接用regular dll好了
郁闷啊……
薛定谔之死猫 2004-05-07
  • 打赏
  • 举报
回复
调用实例项目中只需要包含对导出函数的声明,不要把类的声明也放进去,还有调用类的成员需要保证有类的实例或该成员是静态成员。
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是否加进了工程。

15,471

社区成员

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

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