2014-01-24 77 views
4

我正在运行./configure --host=x86_64-w64-mingw32但由于某种原因它告诉我"zlib header not found."。我安装了软件包(apt-get install zlib1g-gev),但它仍然告诉我这一点。与mingw交叉编译时找不到zlib头文件?

当我刚运行./configure它编译得很好。在Debian 7

我试图交叉编译一个64位可执行文件为Windows使用MinGW-64

我应该做些什么来解决这个问题或避免任何像这样的事情吗?

回答

6

的Windows软件需要Windows库,MinGW的寻找交叉编译的Zlib,你必须建立自己:

  1. 下载zlib的源
  2. 在Win32/Makefile.gcc编辑PREFIX值。对于32位构建它看起来像:

PREFIX = i686-w64-mingw32-

  • 不要运行配置!使用这两个命令来代替(发现 “的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

    在这一点上你将有Mingw工具访问交叉编译的zlib。对于x64,PREFIX var(和路径)将包含:x86_64-w64-mingw32而不是i686-w64-mingw32

    以下链接确实有帮助:https://wiki.openttd.org/Cross-compiling_for_Windows#Compiling_zlib