Как статически связать библиотеку MagickWand в ImageMagick? - PullRequest
0 голосов
/ 04 октября 2019

Я следую инструкциям в https://imagemagick.org/script/advanced-windows-installation.php и собираю ImageMagick в качестве настроек «Статические многопоточные среды выполнения».

Затем я создаю тестовый проект TestMagick и добавляю https://imagemagick.org/source/wand.c к своемуproject.

Затем я добавляю следующий путь к каталогам дополнительных включений проекта:

E: \ ImageMagick-7.0.8-66 \ ImageMagick \

Затем добавляю следующеепуть к каталогам дополнительных библиотек проекта:

E: \ ImageMagick-7.0.8-66 \ VisualMagick \ lib

Затем я добавляю эти два библиотечных файла в качестве дополнительных зависимостей проекта:

CORE_RL_MagickCore_lib; CORE_RL_MagickWand.lib

Затем я построил свой проект как версию выпуска.

Но я получаю следующие ошибки ссылки:

TestMagick.obj: Ошибка LNK2001: не устранена внешняясимвол __imp__MagicWandGenesis TestMagick.obj: ошибка LNK2001: неразрешенный внешний символ __imp__NewMagickWand ...

Поскольку функции запускаются с __imp, похоже, мне следует связать их с импортом DLLбиблиотека вместо статической библиотеки.

Поэтому я пытаюсь перестроить ImageMagick как «Динамические многопоточные среды выполнения DLL». Затем перестройте TestMagick. Теперь на этот раз сборка прошла успешно. Однако TestMagick должен быть размещен в каталоге bin ImageMagick, поскольку он будет использовать множество библиотек ImageMagick.

Поэтому я все еще хочу иметь возможность строить свой проект с помощью ImageWand статически. Так как это сделать?

Я пытаюсь опубликовать на форуме ImageMagick по адресу https://imagemagick.org/discourse-server/viewtopic.php?f=6&t=36831, но никто не отвечает. Поэтому я должен опубликовать здесь.

Спасибо

...