我应该复制哪些文件到项目中以使用ImageMagick?或如何在Windows上使用MinGW编译ImageMagick?

问题描述

我的问题可能看起来有点简单,因为我是QT和C ++的新手,但是我为此苦了一天,所以我决定向某人寻求帮助。我试图在我的QT-MinGW C ++项目中使用ImageMagick库在不同的图像类型之间进行转换。我从here下载了源代码,并按照描述的步骤进行了构建:

./configure
make
make install

现在,我可以在命令行中使用convertmagick等命令,但是如何将库添加到我的QT项目中?没有.dll\include文件夹。我应该将哪些文件添加到我的项目中?库文件在哪里?

注意:我想在Windows环境中使用该库。我正在使用Windows Subsystem for Linux进行编译。

注2:我试图在Windows上使用MinGW MSYS进行编译,但收到数千条警告和错误:c:\ImageMagic/MagickCore/nt-base.c:2774: undefined reference to SetDllDirectoryW' collect2.exe: error: ld returned 1 exit status make[1]: *** [MagickCore/libMagickCore-7.Q16HDRI.la] Error 1

迫切需要帮助。

解决方法

如果您已使用MinGW作为静态库和共享库构建了ImageMagick,则应在lib文件夹中包含以下.a文件:

  • libMagick ++-7.Q16HDRI.a
  • libMagick ++-7.Q16HDRI.dll.a
  • libMagickCore-7.Q16HDRI.a
  • libMagickCore-7.Q16HDRI.dll.a
  • libMagickWand-7.Q16HDRI.a
  • libMagickWand-7.Q16HDRI.dll.a

以及bin文件夹中的以下.dll个文件:

  • libMagick ++-7.Q16HDRI-4.dll
  • libMagickCore-7.Q16HDRI-7.dll
  • libMagickWand-7.Q16HDRI-7.dll

如果您没有.dll.a.dll文件,则您没有共享的版本。

如果您自己构建了ImageMagick并且未构建共享库,则可能是因为依赖关系也缺少了它们的共享库。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...