Работа с ВК и МинГВ - PullRequest
       2

Работа с ВК и МинГВ

2 голосов
/ 31 декабря 2010

Я пытаюсь использовать несколько библиотек с открытым исходным кодом, таких как libpng, в моем проекте VC ++.Я использовал их в среде Linux без проблем, но я не знаю, как заставить их работать в среде VC ++.Вот что я попробовал:

  1. Я установил пакет libpng для Win32 из SF (я также установил zlib таким же образом, кстати).Я вижу png.h в Program Files \ GnuWin32 \ include, но когда я включаю его, компилятор говорит, что ему нужен unistd.h.Я знаю, что это заголовок для системных вызовов POSIX, поэтому в Windows его не будет.

  2. Я установил Cygwin, но позже понял, что он хорош только для сборки исходных кодов Linux на окнах с использованием gcc,вместо использования MS VC (или я не прав?)

  3. Я установил MinGW, но кажется, что MinGW тоже предназначен для использования gcc (или я ошибаюсь?).MinGW поставляется с unistd.h, но этот заголовок ссылается на sys / types.h из MinGW, который взят из linux, а MSVC имеет свой собственный sys / types.h, поэтому компилятор не знает, какой использовать.Эти два файла определяют разные вещи, и ни один из них не может охватить оба, поэтому одного из них недостаточно для компиляции всего проекта.

На данный момент это кажется довольно глупой проблемой #include, но я просто не могу найти правильный способ сделать это.Я действительно кросс-платф от нуба.Может быть, я иду неправильным путем с самого начала ...

Так как мне поступить?Каков ваш стандартный способ использования библиотек Linux в VC ++?

Кстати, я могу собрать с помощью gcc, используя MinGW или Cygwin для генерации исполняемых файлов Windows, но я бы действительно предпочел иметь возможность собирать с помощью VC ++ из-за моей существующей базы кода.Спасибо за любую помощь!

Ответы [ 2 ]

0 голосов
/ 31 декабря 2010

Распространенным решением является создание таких библиотек с помощью gcc (Cygwin или MinGW, не имеет значения), получение библиотек и ссылок с ними из проекта VC

0 голосов
/ 31 декабря 2010

Очевидно, что вы должны загрузить libpng.lib / dll и заголовочные файлы для MS VC.

Если ваш пакет имеет структуру папок, похожую на GnuWin32, это определенно не для MS VC.Ознакомьтесь с дистрибутивом OpenCV (http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.2/)

. Содержит VC-сборку libpng и других библиотек форматов изображений.

...