Сборка последних двоичных файлов iconv и libxml2 в Win32 - PullRequest
7 голосов
/ 07 августа 2010

Я пытаюсь заставить работать MinGW и MSYS, чтобы я мог собрать iconv и libxml2 в Windows, но я обнаружил, что ./configure и make дают много ошибок, связанных с BSD / Unix, которые не достаточно специфичны для Googleи не достаточно описательный для меня, чтобы понять.Кто-нибудь может выполнить некоторые шаги, необходимые для сборки iconv и libxml2 .dll / .lib на компьютере с Win32?

Я обновляю библиотеки для некоторого программного обеспечения, и сегодня я весь день возился с этим ине понял это.Я получил новейшие libpng, zlib и curl, собранные без проблем, но я вижу, что для этих библиотек не так много поддержки или инструкций, как для других.Любая помощь будет принята с благодарностью, заранее спасибо за ваше время.

Джеймс

Ответы [ 6 ]

3 голосов
/ 16 мая 2011

Я понимаю, что могу возродить мертвую ветку, но ...

Что-то, что сработало для меня, заключалось в том, чтобы не компилировать разделяемые библиотеки, а выводить их с помощью инструмента a2dll следующим образом:

./configure --prefix=/mingw --disable-shared make make install</p> <p>a2dll libiconv.a -o iconv.dll mv -iv iconv.dll /mingw/bin/

2 голосов
/ 08 мая 2014

среда mingw32

Мне удалось скомпилировать libxml2 с помощью этого постаhttps://mail.gnome.org/archives/xml/2011-December/msg00005.htmlВнутри каталога win32 разархивированного http://xmlsoft.org/sources/libxml2-2.9.1.tar.gz
выполните 2 шага, как показано ниже

cscript configure.js threads:no static:yes compiler:mingw iconv:no prefix=where_you_want_to_install include=where_your_mingw_include_is lib=where_your_mingw_lib_is debug=yes

, а затемmingw32-make -f Makefile.mingw

Я был в состоянии скомпилировать и выполнить http://xmlsoft.org/examples/reader1.c пример, используя code :: blocks в mingw со средой Windows 7.Не забудьте указать флаги -lxml2 и -lws2_32 в поле «Другие параметры компоновщика» в разделе «Параметры сборки проекта»

2 голосов
/ 07 августа 2010

libxml2 обеспечивает настройку JavaScript.Ищите это в папке win32.Там также есть отдельный файл readme.Пример сборки libxml2:

cd win32
cscript.exe configure.js compiler=mingw prefix=D:\soft\Qt\2010.03\mingw  debug=yes static=yes
mingw32-make -f Makefile.mingw

Я скачал предварительно собранный iconv , и он работает для меня.

1 голос
/ 09 августа 2010

Вы можете получить бинарные файлы для окон, сделанные Игорем Златковичем по адресу http://www.zlatkovic.com/libxml.en.html

0 голосов
/ 26 февраля 2014

Недавно я нашел учебник от Эндрю Марлоу (июль 2013 г.), в котором кратко объясняется, как скомпилировать libxml2 в VisualStudio.

Библиотека libiconv может быть скомпилирована после этого полного учебника, также указывается как ссылка в первой ссылке.

РЕДАКТИРОВАТЬ

Версия libxml2 версии 1.14 теперь имеет решение VS2010.Теперь сделать это очень просто!

В противном случае вы можете следовать инструкциям readme и Marlow, чтобы выполнить ту же работу с другими компиляторами, специфичными для Windows.

EDIT

Я хочу написать здесь некоторые подробности о решении VS2010, включенном в libxml2 v1.14, чтобы помочь всем заинтересованным.Это довольно плохо сделано;например, конфигурация выпуска не сделана должным образом, вы должны это сделать.Если вы хотите его использовать, я дам вам два совета:

  1. Сначала удалите значок проектаv, если путь указан неверно.Затем добавьте файл вашего проекта;у вас все равно будет предупреждение при компиляции из-за ссылки на старый файл.Чтобы подавить это предупреждение, отредактируйте .vcxproj с помощью текстового редактора, измените путь ProjectReference Include последней группы элементов с правильным путем, а также элемент Project этого узла (замените его на ProjectGuid для iconv vcxproj).

  2. Связь с Ws2_32.lib любым приложением, использующим статическую библиотеку libxml2.lib.

Вот некоторые ошибки, которые я получил,надеюсь, что это поможет всем, кто хочет пересобрать libxml2 под VS.

0 голосов
/ 14 ноября 2011

сначала нужно очистить, затем

./configure --host=arm-linux --disable-shared  --enable-static CC="arm-linux-gcc"  --prefix="/tmp/iconv" --with-configuredir="/tmp/iconv" 
make 
make install 

, затем в / tmp / iconv получить libconv.a

...