与mingw交叉编译时找不到zlib头?

时间:2014-01-24 01:25:06

标签: mingw mingw-w64

我正在运行./configure --host=x86_64-w64-mingw32,但由于某种原因,它告诉我"zlib header not found."。我安装了包(apt-get install zlib1g-gev),但它仍然告诉我这个。

当我运行./configure时,它编译得很好。

我正在尝试使用MinGW-64交叉编译Debian 7上的64位可执行文件

我该怎么做才能解决这个问题或避免这样的事情?

1 个答案:

答案 0 :(得分:6)

Windows软件需要Windows库,Mingw正在寻找交叉编译的Zlib,你必须自己构建:

  1. 下载zlib源
  2. 在win32 / Makefile.gcc中编辑PREFIX值。对于32位构建,它将如下所示:
  3. PREFIX = i686-w64-mingw32-

    1. 不要运行configure!请改用这两个命令(在系统中找到" i686-w64-mingw32"文件夹,如果它不在/ usr中,请更正这些路径):
    2. 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

      此时,您可以通过Mingw工具访问交叉编译的zlib。对于x64,PREFIX var(和路径)将包含:x86_64-w64-mingw32而不是i686-w64-mingw32

      以下链接非常有用:https://wiki.openttd.org/Cross-compiling_for_Windows#Compiling_zlib

相关问题