在VS2019项目中集成ImageMagick:x64-windows-static library



我正在尝试创建一个VS2019项目,将ImageMagick(Magick ++(作为静态链接库。

我按照 https://github.com/ImageMagick/ImageMagick-Windows 的指示去做了。

在向导配置器中,我请求: 构建类型:静态多线程运行时 将大多数设置保留为默认值。

在我的项目中,我将头文件包含路径设置为包含:

C:developerImageMagickImageMagick
C:developerImageMagickImageMagickMagick++lib

我添加了以下库路径:

C:developerImageMagickVisualMagicklib

并且我添加了相关的 3 个库文件进行调试和发布.. 调试如下所示:

CORE_DB_Magick++_.lib
CORE_DB_MagickCore_.lib
CORE_DB_MagickWand_.lib

在代码中,我有:

#include <Magick++.h>
...
char szImageMagickLIBDirectory[MAX_PATH];
strcpy_s(szImageMagickLIBDirectory, MAX_PATH, "C:\developer\ImageMagick\VisualMagick\lib");
Magick::InitializeMagick(szImageMagickLIBDirectory);

不幸的是,我在链接过程中收到许多未解决LNK2001外部符号错误。 例:

LNK2001 unresolved external symbol UnregisterGRADIENTImage  <myProjectName> <my_project_path>CORE_DB_Magick++_.lib(static.obj) 1   

有没有人知道如何为ImageMagick:x64-windows-static library使用设置VS项目?

我的备份计划(你可以从我的vcpkg符号中推断出来(将使用GraphicsMagick。

好吧,我觉得自己是个正确的白痴! 我的错误是认为所有额外的 LIB 都被编译成 ImageMagick 通常引用和使用的 3 个关键 LIB。 事实并非如此!嘎!非常简单的答案是将所有三十多个静态库添加到项目中!仅此而已! 老实说,我以为我正在处理一些复杂的 Linker 设置问题,而问题只是我傲慢的假设!

我现在必须喝咖啡来避免我感到的改变思想的愚蠢!

最新更新