Заголовок zlib не найден при кросс-компиляции с mingw?

Я бегаю ./configure --host=x86_64-w64-mingw32, но почему-то он мне говорит "zlib header not found.". У меня установлены пакеты (apt-get install zlib1g-gev), но он все равно говорит мне об этом.

Когда я просто запускаю ./configure, он компилируется нормально.

Я пытаюсь скомпилировать 64-битный исполняемый файл для Windows на Debian 7 с MinGW-64

Что мне делать, чтобы решить эту проблему или избежать подобных вещей?


person dominique120    schedule 24.01.2014    source источник


Ответы (1)


Для программного обеспечения Windows требуются библиотеки Windows, Mingw ищет кросс-скомпилированный Zlib, который вам придется собрать самостоятельно:

  1. Скачать исходный код zlib
  2. Измените значение PREFIX в win32 / Makefile.gcc. Для 32-битной сборки это будет выглядеть так:

PREFIX = i686-w64-mingw32-

  1. Не запускайте configure! Вместо этого используйте эти две команды (найдите папку «i686-w64-mingw32» в вашей системе и исправьте эти пути, если ее нет в / usr):

BINARY_PATH=/usr/i686-w64-mingw32/bin INCLUDE_PATH=/usr/i686-w64-mingw32/include LIBRARY_PATH=/usr/i686-w64-mingw32/lib make -f win32/Makefile.gcc

BINARY_PATH=/usr/i686-w64-mingw32/bin INCLUDE_PATH=/usr/i686-w64-mingw32/include LIBRARY_PATH=/usr/i686-w64-mingw32/lib make -f win32/Makefile.gcc install

На этом этапе у вас будет кросс-скомпилированный zlib, доступный с помощью инструментов Mingw. Для x64 переменная PREFIX (и пути) будет содержать это: x86_64-w64-mingw32 вместо i686-w64-mingw32.

Следующая ссылка была действительно полезной: https://wiki.openttd.org/Cross-compiling_for_Windows#Compiling_zlib < / а>

person ogurets    schedule 24.09.2014