2014-01-24 100 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