qt+osg+vs2008中(msvcr90.dll) 处最可能的异常: 0xC0000005的问题解决

这篇博客主要介绍了在使用Qt+OpenSceneGraph( osg)和Visual Studio 2008时遇到的msvcr90.dll运行时异常以及ImageMagick处理中文路径名的问题。解决异常的方法包括修改Project属性中的Runtime Library设置,将Multi-threaded Debug DLL (/MDd)改为Multi-threaded DLL (/MD)。对于ImageMagick的中文路径问题,需要对中文路径进行utf-8编码。此外,依赖项问题可能需要重新安装以更新注册表。
摘要由CSDN通过智能技术生成

 用此法得到了解决。

3. 另一个运行时异常, Debug时出现:
“Unhandled exception at 0×6c1f4774 (msvcr90.dll) in TestMagick.exe: 0xC0000005: Access violation reading location 0xcccccccc.”

同样在官方论坛上找到答案:是Project属性配置引起的, Project Properties->Configuration Properties->C/C++->Code Generation->Runtime Library, 把Multi-threaded Debug DLL (/MDd)改为Multi-threaded DLL (/MD), 而/MDd是Debug的默认选项. 不过文中提到的有关”_DEBUG”改为”NDEBUG”倒不必.

[转]ImageMagick中文路径名等问题解决

五月 21st, 2009

在C++中使用ImageMagick(简称Magick)处理一些图片, 碰到几个问题并尝试找到了解决方案.

Magick官方网站下载的ImageMagick-6.5.2-4-Q16-windows-dll.exe, 安装时选上C++开发包. 开发用的IDE是Visual Studio 2008.

1. Magick对中文的路径名支持不是很好, 比如

1
2
Image img;
img.read("e://头像 小头//小王.jpg");  // 读取失败

这种中文路径在OpenCV中是没问题的. 不过Magick并非不支持中文路径名, 只是需要先对中文路径进行utf-8编码. 如下面的转换代码, 在windows下通过MultiByteToWideChar和MultiByteToWideChar实现, 需要包含头文件wtypes.h, 细节可查看MSDN. 在linux下据说可以用iconv实现.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// use utf8 to encode the string and store as char*. Need #include <wtypes.h>.
// No
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值