#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 /…