Я пытаюсь использовать несколько библиотек с открытым исходным кодом, например libpng, в моем проекте VC++. Я использовал их в среде Linux без проблем, но я не знаю, как заставить их работать в среде VC++. Вот что я пробовал:Работа с VC и MinGW
Я установил Libpng для пакета Win32 от SF (я также установил ZLIB так же BTW). Я вижу png.h в Program Files \ GnuWin32 \ include, но когда я его включаю, компилятор говорит, что для него требуется unistd.h. Я знаю, что это заголовок для системных вызовов POSIX, поэтому Windows его не будет.
Я установил Cygwin, но потом понял, что это хорошо только для построения исходных линукс кодов на окнах с помощью GCC, вместо того, чтобы использовать MS VC (или я ошибаюсь?)
Я установил MinGW, но мне кажется, MinGW предназначен для использования gcc (или я ошибаюсь?). MinGW действительно поставляется с unistd.h, но этот заголовок ссылается на файл sys/types.h MinGW, который из linux, а MSVC имеет свои собственные sys/types.h, поэтому компилятор не знает, что использовать. Эти два файла определяют разные вещи, и ни один из них не может охватывать оба варианта, поэтому включение их либо недостаточно для компиляции всего проекта.
К этому моменту это кажется довольно глупой проблемой #include, но я просто не могу понять, как правильно это сделать. Я действительно крест-набросок noob. Может быть, я ошибаюсь с самого начала ...
Итак, как мне идти? Каков ваш стандартный способ использования библиотек linux в VC++?
Возможно, я могу построить с помощью gcc с помощью MinGW или Cygwin для создания исполняемых файлов Windows, но я бы предпочел, чтобы я мог строить с VC++ из-за моей существующей базы кода. Спасибо за любую помощь!
Спасибо. Я уверен, что это жизнеспособное решение, но, похоже, довольно утомительно искать конкретные сборки Win32 для каждой библиотеки с открытым исходным кодом, которую я использую. Почему я не могу построить себя из исходного кода? Разве это не точка открытого источника? Я уверен, что должно быть более общее решение ... – fang
Знаете, типичные библиотеки с открытым исходным кодом используют средства автоматической генерации конфигурации, не поддерживающие MS VC, поэтому вы должны вручную генерировать конфигурацию VC и файлы заголовков. делать. – 9dan
Хммм, правда, очень немногие в сообществе с открытым исходным кодом заботятся о VC. Раньше я думал, что большинство проектов с открытым исходным кодом независимы от платформы, но на самом деле это не так, верно? – fang