Роблю собі нотатку.
Стала потреба тестувати С++ проект з середовища Qt5, де використовується API від проекту ImageMagic.
Якщо використати у режимі (debug) Qt5 проект, то отримаємо помилки на кшталт цих:
Exception at 0x7ff9a2051f08, code: 0xe06d7363: C++ exception, flags=0x1
(execution cannot be continued) (first chance) in CORE_RL_Magick___!Magick::throwException "createIM Magick: unable to open module file `C:\\Users\\user\\.magick\\IM_MOD_RL_?\u0002?F?\u0001_.dll': No such file or directory @ warning/module.c/GetMagickModulePath/812"
Для вирішення проблеми я скомпілював ImageMagic. За інструкцією отримав VisualMagick проект для Visual Studio, там вибрав конфігурацію Debug.
Перекомпілював проект VisualDynamicMT
Отримав за шляхами:
libraries : ImageMagick-src-windows\ImageMagick-6.9.3-0\VisualMagick\lib
DLL: ImageMagick-src-windows\ImageMagick-6.9.3-0\VisualMagick\bin
ImageMagik DLL для Release мають вигляд CORE_RL, для Debug - CORE_DB
Відредагував файл проекту Qt project file .pro:
Додатково. Для того щоб ImageMagik не шукав шляхи розміщення DLL у windows registry, а у теці проекту додав у
ImageMagick-src-windows\ImageMagick-6.9.3-0\ImageMagick\magick\magick-config.h:
Стала потреба тестувати С++ проект з середовища Qt5, де використовується API від проекту ImageMagic.
Якщо використати у режимі (debug) Qt5 проект, то отримаємо помилки на кшталт цих:
Exception at 0x7ff9a2051f08, code: 0xe06d7363: C++ exception, flags=0x1
(execution cannot be continued) (first chance) in CORE_RL_Magick___!Magick::throwException "createIM Magick: unable to open module file `C:\\Users\\user\\.magick\\IM_MOD_RL_?\u0002?F?\u0001_.dll': No such file or directory @ warning/module.c/GetMagickModulePath/812"
Для вирішення проблеми я скомпілював ImageMagic. За інструкцією отримав VisualMagick проект для Visual Studio, там вибрав конфігурацію Debug.
Конфігурація Debug |
Отримав за шляхами:
libraries : ImageMagick-src-windows\ImageMagick-6.9.3-0\VisualMagick\lib
DLL: ImageMagick-src-windows\ImageMagick-6.9.3-0\VisualMagick\bin
ImageMagik DLL для Release мають вигляд CORE_RL, для Debug - CORE_DB
Відредагував файл проекту Qt project file .pro:
#ImageMagick Src 6.9.3-Q16
win32:CONFIG(release,
debug|release): LIBS +=
-LD:\develop-tools\ImageMagick\ImageMagick-src-windows\ImageMagick-6.9.3-0\VisualMagick\lib
-lCORE_RL_Magick++_ -lCORE_RL_magick_ -LCORE_RL_wand_
else:win32:CONFIG(debug,
debug|release): LIBS +=
-LD:\develop-tools\ImageMagick\ImageMagick-src-windows\ImageMagick-6.9.3-0\VisualMagick\lib
-lCORE_DB_Magick++_ -lCORE_DB_magick_ -LCORE_DB_wand_
Додатково. Для того щоб ImageMagik не шукав шляхи розміщення DLL у windows registry, а у теці проекту додав у
ImageMagick-src-windows\ImageMagick-6.9.3-0\ImageMagick\magick\magick-config.h:
#ifndef MAGICKCORE_INSTALLED_SUPPORT
#define MAGICKCORE_INSTALLED_SUPPORT
#endif
Немає коментарів:
Дописати коментар