компиляция LibXML2 в VC2005/08 и Mac Os env

#windows #linux #visual-studio-2008 #libxml2 #osx-leopard

#Windows #linux #visual-studio-2008 #libxml2 #osx-leopard

Вопрос:

Я пишу приложение на C, которое использует LibXML2 для синтаксического анализа и проверки XML. Скомпилировать его в Linux было довольно просто, хотя компиляция в Windows и Mac кажется сложной.

Для Windows я использую VC2005 / 08 (у меня в основном есть обе копии, следовательно, использовать их было бы проще). Мне нужно скомпилировать мое приложение вместе с Libxml2 и другими библиотеками. Самое главное, что мне нужно скомпилировать это с MSVCRT.DLL и не с другими библиотеками CRT DLL, такими как MSVCRT71.dll и т.д. …

Мне нужно создать это и для Mac Os.

Пожалуйста, посоветуйте, как мне поступить по этому поводу?

Ответ №1:

Однажды я настроил файл проекта Visual C 2005 для сборки libxml2 из исходного кода. Удивительно, но я сохранил инструкции о том, как я сделал некоторые из них. Это для 2.7.4, поэтому для текущей версии это может отличаться.

Сначала вы должны запустить скрипт configure; Я сделал cscript configure.js iconv=no , поскольку не хотел усложнять ситуацию другой зависимостью (iconv). При этом генерируются некоторые заголовочные файлы, которые определяют, какие параметры доступны для сборки.

Затем вам нужно создать файл проекта и добавить в него все исходные файлы libxml2. Я настроил свою как статическую библиотеку, связанную со статической средой выполнения C, хотя вы можете захотеть изменить это для своих нужд. Мне пришлось добавить некоторые определения в файл моего проекта, чтобы он был построен определенным образом; глядя на мой файл проекта, я вижу _REENTRANT;HAVE_WIN32_THREADS . Я не помню, что это означает, но я, вероятно, почерпнул их из файла makefile.

Это действительно все, что нужно для этого; настройте, добавьте файлы и задайте некоторые определения.

Комментарии:

1. Вам необходимо применить этот патч, чтобы исправить сборку Windows: git.gnome.org/browse/libxml2/commit /…