1

我在运行任何 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。
  • 尝试了 Magick++ 的 x86 和 x64 版本。
  • 当上述任何事情都不起作用时,我最终以完整的格式重新安装了操作系统。

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

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

PS:我使用的是Windos 7 x64,并且我已经以管理员身份登录。

4

2 回答 2

1

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

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

建议:

  • 创建程序的调试版本并查看堆栈跟踪以找出导致错误的调用顺序。
  • 在网络上搜索此程序中的此错误以及您已找到的位置。
于 2013-01-20T09:07:49.723 回答
1

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

Bob Friesenhahn(Magick++ 原作者)

于 2013-01-22T01:59:02.197 回答