运行Magick ++程序时出现内存冲突

时间:2013-01-20 08:48:13

标签: c++ imagemagick

我遇到了运行任何Magick ++程序的问题,程序已成功链接和编译,但是当我运行它们时,我收到以下错误。

内部调用堆栈标签:

CORE_RL_Magick++_.dll!6b004bca() 
[Frames below may be incorrect and/or missing, no symbols loaded for CORE_RL_Magick++_.dll] 
CORE_RL_Magick++_.dll!6affb2d8() 
>   button.exe!main(int __formal=-1990322582, char * * argv=0x53535330) Line 65 C++

内部输出标签:

'button.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll'
First-chance exception at 0x6b004bca in button.exe: 0xC0000005: Access violation writing location 0x00bbd458.
Unhandled exception at 0x6b004bca in button.exe: 0xC0000005: Access violation writing location 0x00bbd458.
First-chance exception at 0x6b004bca in button.exe: 0xC0000005: Access violation writing location 0x00bbd458.
Unhandled exception at 0x6b004bca in button.exe: 0xC0000005: Access violation writing location 0x00bbd458.

以下是我已经尝试过的事情。

  • 已尝试重新安装Visual Studio。
  • 尝试了x86和x64版本的Magick ++。
  • 当上述事情都没有奏效时,我最终重新安装了完整格式的操作系统。

但重新安装OS,Visual studio和Magick ++后,我仍然遇到同样的错误。

此访问冲突写入错误是什么?

P.S:我使用的是Windos 7 x64,我已经以管理员身份登录。

2 个答案:

答案 0 :(得分:1)

“访问冲突写入”表示您的程序试图写入其没有写访问权限的地址。还存在用于读取和可能执行代码的访问冲突。你可以很容易地得到这个:

char* ptr = "foo";
strcpy(ptr, "bar");

建议:

  • 创建程序的调试版本并查看堆栈跟踪以找出导致错误的调用序列。
  • 在此计划和您已找到的位置搜索网页,查找此错误。

答案 1 :(得分:1)

我建议从源代码构建Magick ++,然后使用项目文件进行Magick ++测试/演示之一,作为如何为自己的应用程序创建项目文件的示例。您是从源代码构建还是使用二进制安装包中的预处理DLL?您使用的是ImageMagick或GraphicsMagick的Magick ++吗?

Bob Friesenhahn(Magick ++原作者)