运行magick++程序时内存冲突
Memory violation when running Magick++ programs
我正在运行任何magick++程序,程序链接并编译成功,但当我运行它们时,我得到以下错误。
Inside Call stack Tab:
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++
Inside Output Tab:
'button.exe': Loaded 'C:WindowsSysWOW64msctf.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:我用的是windows 7 x64,而且我已经以管理员的身份登录了。
我建议从源代码构建magick++,然后使用其中一个magick++测试/演示的项目文件作为如何为您自己的应用程序创建项目文件的示例。您是从源代码构建的,还是从二进制安装包中使用准备好的dll ?你是使用magick++从ImageMagick还是从GraphicsMagick?
Bob Friesenhahn (magick++原作者)
"访问违规写入"意味着你的程序试图写入一个它没有写访问权限的地址。在读取和执行代码时也存在访问冲突。你可以很容易地得到这个:
char* ptr = "foo";
strcpy(ptr, "bar");
建议:
- 创建程序的调试构建,并查看堆栈跟踪,以找出导致错误的调用顺序。
- 在这个程序和你已经找到的位置搜索这个错误。
相关文章:
- C++尝试深度复制唯一指针时出现内存访问冲突
- C++中的内存分配(引发异常:读取访问冲突)
- 在尝试使用CUDA分配内存时,我遇到了访问冲突写入位置错误
- 使用加速进程间创建消息队列 - 内存访问冲突
- C 指针转换会导致内存访问冲突
- 为什么创建进程 API 调用会导致内存访问冲突?
- 访问共享内存时出现读取访问冲突
- 这Microsoft CFileDialog 示例是否会导致潜在的内存冲突
- Python C++扩展 - 内存泄漏或访问冲突
- 如何修复<程序名称>中的"<内存位置>未处理的异常。Visual Studio 2017 中的访问冲突写入位置<内存位置>"
- C 程序内存冲突依赖于 std::cout (?)
- 使用 std::map 作为本地成员的内存访问冲突
- 编译哈希算法时出现内存访问冲突错误
- C++ 访问内存冲突
- C++ 中的内存冲突
- 结构中的 std::list 导致内存冲突错误
- 内存冲突:SIGSEGV 和"找不到虚拟表的链接器符号..."
- 返回stbi_load函数的结果并将其用于glTexImage2D会导致内存冲突
- 运行magick++程序时内存冲突
- C++ 自定义 std::map<>导致内存冲突的键类