一个atl工程实现了一个com组件,debug版本可以正常编译连接注册dll
可是选择release版本会失败
链接的时候有一个警告信息如下:
1>LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
注册的时候会弹出失败对话框
失败信息大致如下:
Debug Assertion Failed!
Expression: string iterator not dereferencable
如果release版本的运行时库从“多线程DLL(/MD)”改为“多线程调试DLL(/MDd)”则可以编译注册成功。
但是在未安装vc的电脑上无法注册该dll,求解。。
可是选择release版本会失败
链接的时候有一个警告信息如下:
1>LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
注册的时候会弹出失败对话框
失败信息大致如下:
Debug Assertion Failed!
Expression: string iterator not dereferencable
如果release版本的运行时库从“多线程DLL(/MD)”改为“多线程调试DLL(/MDd)”则可以编译注册成功。
但是在未安装vc的电脑上无法注册该dll,求解。。
解决方案 »
- 多线程操作同一个全局变量,是不是会导致界面出现刷新问题
- 如何在一个编辑框内打开一个txt文件
- Jrtplib发包问题
- assertion failed: wincore.cpp line 341
- 求助!急啊!在线等!
- 关于BYTE*向BSTR的转化,找到写东西,大家都来看看,多出出主意。谢谢!!
- 如何将工具栏的打开/关闭与菜单项的选定/未选定关联起来?
- Recordset建立之后如何高效地把数据取出并显示在列表中?
- 请解释一下GetDlgItemText()函数的各个参数的用法?
- 请问怎样才能知道消息通知码的具体数值(UINT)
- 这段代码vs2005编译出来执行速度远远低于vc6编译的
- CEdit 设置背景后,有文字背景就没了
先查查这个
由于该工程用到了google protocol buffers库
最初用的是google protocol buffers生成的Debug版lib文件
所以造成了该工程Release版本不能注册。
重新生成google protocol buffers的Release版lib文件即解决了问题。