问一个DLL中导出CString参数的接口函数出错的问题

sproll 2005-05-01 01:06:05
我写了一个MFC扩展DLL,用AFX_EXT_CLASS导出一个类,该类有两个函数使用CString参数,该DLL编译无问题。但是如果在另一个工程中使用这个DLL,我发现如果这个工程用Release版本编译的话,就出现编译错误,说这两个函数是无法解析的外部符号。但是这个工程如果用Debug版本编译则无此错误。
我建了个解决方案专门测试这个问题,发现的确是:
DLL中导出的类如果包含public的接收CString参数的成员函数,则这个DLL在其它工程中被引用时,无法通过该工程的Release版本的编译,报告显示这些接收CString参数的函数无法解析。
我用的是visual studio 2003。
...全文
165 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sproll 2005-05-03
谢谢大家的指点!
  • 打赏
  • 举报
回复
oyljerry 2005-05-03
用char*等吧
  • 打赏
  • 举报
回复
jerry 2005-05-01
调试版的CString 和 发行版的 CString 是不同的, 最好不要用这样的类型做函数参数,应该使用

LPCTSTR 类型
  • 打赏
  • 举报
回复
howtotell 2005-05-01
CString有它自己的一套内存分配机制,直接导出好像不行。可以考虑导出函数返回、修改需要操作的CStirng
  • 打赏
  • 举报
回复
Kudeet 2005-05-01
dll导出字符串最好不要用CString,用cha * 或者LPCTSTR/LPSTR
  • 打赏
  • 举报
回复
相关推荐
发帖
进程/线程/DLL

1.5w+

社区成员

VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
帖子事件
创建了帖子
2005-05-01 01:06
社区公告
暂无公告