首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows上使用LuaRocks安装LuaRocks?

如何在Windows上使用LuaRocks安装LuaRocks?
EN

Stack Overflow用户
提问于 2020-02-09 19:07:45
回答 1查看 991关注 0票数 1

我在Linux环境中用Lua编写了一个程序,它使用Lua模块ZipWriter及其依赖项(lua-zlibstruct)。我也试图向Windows发布,但我在构建lua-zlib时遇到了困难。

我使用LuaRocks安装所有其他软件包,并使用标准命令。所以,为了安装lua-zlib,我只使用了> luarocks install lua-zlib,但是它当然不能工作,因为zlib本身没有安装,而lua-zlib是一个绑定到那个库的。

代码语言:javascript
复制
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的不同下载。我下载了“完整包,除了源代码”和“源”设置,安装了它们,它们在目录C:\Program Files (x86)\GnuWin32下创建文件夹和文件,所有这些文件都与zlib相关。我遵循了错误日志提供的示例,并再次尝试运行luarocks

代码语言:javascript
复制
> luarocks install lua-zlib ZLIB_DIR="C:\Program Files (x86)\GnuWin32"

但同样,另一个错误是:

代码语言:javascript
复制
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作为编译器,以防这是有用的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-10 02:08:34

它应该使用静态的zlib来代替。要做到这一点,您可以在Github上跟踪这个指南。基本上,你需要

  1. 安装了函数zlib库 从https://zlib.net下载,使用cmake生成Visual解决方案(例如在c:\lib\zlib中) 制造..。-DCMAKE_INSTALL_PREFIX=c:\lib\zlib 然后使用VS中的“Release类型”从结果解决方案构建安装项目。
  2. 下载luarock luarocks :mkdir c:\lib\luarocks c: cd \lib\luarocks luarocks下载luarocks
  3. 编辑lua*..rockspec文件(例如在c:\lib\lua中),添加,"ZLIB_STATIC"build.modules.zlib.defines,将platform.windows.modules.zlib.libraries"$(ZLIB_LIBDIR)/zlib"更改为"$(ZLIB_LIBDIR)/zlibstatic"
  4. 从本地源安装luarock (更改文件名以匹配现有文件名): cd c:\lib\ luarocks luarocks安装luarocks*..rockspec
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60140305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档