В настоящее время я пытаюсь создать версию emacs для Windows, которая поддерживает ImageMagick.
Для этой цели я уже скомпилировал ImageMagick с MinGW32/MSys, чтобы получить совместимые файлы библиотеки. В основном связывание также работает, хотя я должен явно добавить -llibMagickCore-6.Q16
и -llibMagickWand-6.Q16
в команду связывания через параметр --lib
configure.bat
.
Однако предполагается, что бинарный дистрибутив emacs для windows загружается даже при отсутствии зависимостей. Такое поведение я получаю, когда добавляю параметр компоновщика (configure.bat --ldflags
) -static
.
Однако, когда я пытаюсь скомпилировать с помощью ImageMagick-Support, статическое связывание не работает, говоря, что не может найти включения ImageMagick.
Файлы библиотеки находятся в D:/BUILD/libraries/lib
. В качестве минимального примера:
D:\>ld -LD:/BUILD/libraries/lib -llibMagickWand-6.Q16
D:\>ld -static -LD:/BUILD/libraries/lib -llibMagickWand-6.Q16
ld: cannot find -llibMagickWand-6.Q16
Однако каталог содержит статическую библиотеку.
D:\BUILD\libraries\lib>dir *Magick*
[...]
2013-07-02 15:16 2,585,830 libMagick++-6.Q16.a
2013-07-02 15:16 1,745,404 libMagick++-6.Q16.dll.a
2013-07-02 15:16 1,178 libMagick++-6.Q16.la
2013-07-02 15:16 5,153,712 libMagickCore-6.Q16.a
2013-07-02 15:16 977,292 libMagickCore-6.Q16.dll.a
2013-07-02 15:16 1,096 libMagickCore-6.Q16.la
2013-07-02 15:16 1,609,692 libMagickWand-6.Q16.a
2013-07-02 15:16 472,364 libMagickWand-6.Q16.dll.a
2013-07-02 15:16 1,142 libMagickWand-6.Q16.la
Есть идеи, что здесь может быть не так? Насколько я понимаю, файлы .a
являются статическими библиотеками для MinGW, поэтому отсутствие файлов .lib
(Visual Studio) не должно быть проблемой.
Я использовал исходный дистрибутив ImageMagick для Unix, потому что для сборки исходного кода Windows требуется Visual Studio.