Я написал программу с Lua в среде Linux, и она использует Lua модуль ZipWriter
и его зависимости (lua-zlib
и struct
). Я пытаюсь также выпустить Windows, но у меня проблемы с сборкой lua-zlib
.
Я использую LuaRocks для установки всех других пакетов стандартными командами , Итак, чтобы установить lua-zlib
, я просто использовал > luarocks install lua-zlib
, но, конечно, это не сработало, поскольку сам zlib
не был установлен, а lua-zlib
является привязкой к этой библиотеке. ,
Installing https://luarocks.org/lua-zlib-1.2-0.src.rock
Error: Could not find header file for ZLIB
No file zlib.h in c:/external/include
No file zlib.h in c:/mingw/include
No file zlib.h in c:/windows/system32/include
You may have to install ZLIB in your system and/or pass ZLIB_DIR or ZLIB_INCDIR to the luarocks command.
Example: luarocks install lua-zlib ZLIB_DIR=/usr/local
Итак, я нашел ссылку на этой странице для различных загрузок zlib
для Windows. Я скачал настройки «Полный пакет, кроме источников» и «Источники», установил их, и они создали папки и файлы в каталоге C:\Program Files (x86)\GnuWin32
, все относящиеся к zlib
. Я последовал примеру, предоставленному в этом журнале ошибок, и снова попытался запустить luarocks
:
> luarocks install lua-zlib ZLIB_DIR="C:\Program Files (x86)\GnuWin32"
Но, опять же, еще одна ошибка:
Installing https://luarocks.org/lua-zlib-1.2-0.src.rock
mingw32-gcc -O2 -c -o lua_zlib.o -IC:\lua\luajit lua_zlib.c -DLZLIB_COMPAT -IC:\Program Files (x86)\GnuWin32/include
mingw32-gcc -shared -o zlib.dll lua_zlib.o -lC:\Program Files (x86)\GnuWin32/zlib C:\lua\luajit/lua51.dll -lMSVCRT
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: cannot find -lC:\Program Files (x86)\GnuWin32/zlib
collect2.exe: error: ld returned 1 exit status
Error: Build error: Failed compiling module zlib.dll
И действительно, не было файла / каталога в C:\Program Files (x86)\GnuWin32/zlib
, как показывает ошибка. По какой-то причине это не было установлено. Что мне не хватает?
Примечание: как показывает журнал ошибок, у меня mingw32-gcc
в качестве компилятора, на случай, если это будет полезно.