最近在windows下搞lua测试,发现lua自带的库有点少,缺少md5等等很常用的库。网上确实有这些第三方库,但这个md5库找不到windows的版本,就想着自己手动编译。不料,这个md5库需要lua5.3的静态链接库。最后,就参考国外一篇文章,尝试windows下编译lua源代码。
lua源代码编译
1、确保安装了 Visual Studio编译器,这里以 VS 2010为例。
2、下载lua 源代码,解压出来,如放在 c:/lua_build
http://www.lua.org/ftp/lua-5.3.2.tar.gz
3、运行 VS命令行模式,可以在windows开始菜单找到这个命令。
cd /d c:/lua_build/src
cl /MD /O2 /c /DLUA_BUILD_AS_DLL *.c
ren lua.obj lua.o
ren luac.obj luac.o
link /DLL /IMPLIB:lua5.3.2.lib /OUT:lua5.3.2.dll *.obj
link /OUT:lua.exe lua.o lua5.3.2.lib
lib /OUT:lua5.3.2-static.lib *.obj
link /OUT:luac.exe luac.o lua5.3.2-static.lib
编译完成后,可以在src目录找到 lua.exe , luac.exe, lua5.3.2.dll,lua5.3.2.lib,lua5.3.2-static.lib
可能的错误
另外,我在VC编译时,还遇到一个意外的错误。可能正常情况下不会遇到。
loadlib.c(180) : fatal error C1083: 无法打开包括文件:“windows.h”: No such fileor directory
遇到这个报错,说明VS命令行找不到 windows SDK,就要手动改下 VS命令行脚本。
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat
保存后,重启下vs命令行
文章最后,顺带提供下我前面提到的 在windows下编译lua md5模块,已经打包成vs工程项目,欢迎下载(
猛击这里)
参考:
http://blog.csdn.net/mycwq/article/details/52318908
https://blog.spreendigital.de/2015/01/16/how-to-compile-lua-5-3-0-for-windows/
分享到:
相关推荐
VS2013编译Lua5.3源码 在这篇文章中,我们将学习如何使用Visual Studio 2013在Windows 8.1操作系统下编译和配置Lua 5.3源码。 Lua是一种轻量级的脚本语言,广泛应用于游戏、嵌入式系统等领域。通过这篇文章,我们将...
3. **lua53.exe**:这是Lua的解释器,用于直接运行Lua源代码或者已经预编译的字节码文件。当你输入lua53.exe,然后在命令行中输入Lua代码,就可以实时看到执行结果,这对于调试和学习非常方便。 4. **wlua53.exe**...
【标题】"lua-5.3_win32_bin" 是一个针对Windows 32位操作系统的Lua编程语言的发行版,包含了运行和编译Lua脚本所需的组件。 【描述】"Lua win32解释器与编译器,lua,luac,wlua" 提供了以下关键组件: 1. **lua...
Lua源代码是文本形式的,易于阅读和编写,但为了保护代码不被轻易篡改或盗用,开发者通常会将Lua代码编译成字节码(.lua.c文件或.luac文件)。"LUAC"就是Lua的官方编译器,它将Lua源代码转换为字节码,以提高执行...
这里我们讨论的是 Lua 5.3 版本的源代码,包括 "lua-5.3.tar.gz" 和 "Mylua-5.3.tar.gz" 两个压缩包。`lua-5.3.0` 是 Lua 5.3.0 版本的核心源代码。 1. **Lua 5.3**: Lua 5.3 是 Lua 的一个重要版本,它引入了许多...
Lua的源代码是人类可读的文本格式,但为了保护代码不被轻易查看或修改,可以将其编译成luac字节码。本文将详细介绍Lua反编译工具的相关知识点,包括Lua 5.1和5.2版本。 1. Lua编译器与解释器: Lua提供了两个主要...
这个过程会编译源代码,并确保在Linux环境下 Lua 能正常运行并通过所有内置测试。 4. 如果编译和测试成功,使用`make install`命令将编译好的Lua安装到系统中。这通常会将lua可执行文件和必要的库文件放置到系统路径...
- `luac.exe`:Lua 编译器,将 Lua 源代码编译为字节码,提高运行效率。 - `lua5.3.dll`:x86 或 x64 平台的 Lua 运行时库,供其他程序动态链接使用。 - `lua5.3.lib`:静态链接库文件,用于在 C/C++ 程序中静态链接...
通常,编译Lua涉及获取源代码,配置环境,设置编译选项,然后使用C编译器(如MinGW或Visual Studio)进行编译。这个过程中可能需要处理平台依赖、库链接和优化设置等问题。 6. **使用场景**:Lua在游戏开发、网络...
`luac.c`包含编译器,可以将Lua源代码编译成预编译的字节码,提高运行效率。虚拟机在`lvm.c`中实现,执行这些字节码。 6. **模块系统**:Lua的模块系统允许分隔代码,`loadlib.c`处理对`.lua`和`.so`(或`.dll`)...
通过这些步骤,你应该能够在VS2010环境下成功地编译Lua源代码,并将其集成到你的C++项目中。提供的`VS下LUA编程环境搭建.docx`和`编译.docx`文档可能包含了更详细的步骤或注意事项,建议仔细阅读以获取更多信息。在...
3. **luac53.exe**:这个是 Lua 的编译器,可以将 Lua 源代码编译成字节码,生成`.lua`文件的预编译版本`.lc`。这样可以提高程序加载速度,因为解释器可以直接执行字节码,而无需每次都解析源代码。 4. **wlua53....
`lua_code_formatter`是一个针对Lua 5.3版本源代码的格式化工具,它可以帮助开发者将凌乱的代码自动调整为统一的风格,提高代码的可读性和团队合作的效率。 首先,我们来了解一下什么是代码格式化。代码格式化是...
Go编译器部分负责将Lua源代码转换为中间表示(IR),然后再进一步转化为Go可以理解并执行的代码。这样的设计使得Go-DCLua能够充分利用Go的内存管理和并发特性,同时保持Lua的执行效率。编译器还可能包含优化步骤,如...
这里的"lua-5.3.3.tar.gz"是一个源码安装包,意味着你需要通过编译源代码来在你的操作系统上安装Lua 5.3.3版本。 首先,让我们了解一下tar.gz文件。这是一种常见的文件打包格式,由“tar”(归档)和“gzip”(压缩...
总览LuaDec是lua 5.1的Lua反编译器,并且是lua 5.2和5.3的实验版。...用法反编译lua二进制文件: luadec abc.luac 反编译lua源文件以进行测试和比较: luadec abc.lua 分解lua源代码或二进制文件luadec
编译后的字节码文件(.lua)可以在没有源代码的情况下运行,提高了安全性和执行效率。 - **wlua53.exe**:这可能是一个用于增强Lua的命令行接口,或者是一个特定的Lua shell,允许用户直接在命令行环境中编写和运行...
而"luac53.exe"是Lua的编译器,它可以将Lua源代码编译成字节码,便于更快地执行。"wlua53.exe"可能是Windows下的Lua命令行解释器,允许用户直接在命令行界面输入和执行Lua代码。"lua53.exe"是另一个可能的解释器,...
在Windows环境下,用户可以直接运行这些文件来执行Lua脚本或编译源代码。 在实际应用中,Lua常常与游戏引擎结合,如Cocos2d-x、Unreal Engine等,提供便捷的游戏逻辑编写和配置。此外,Lua也常用于服务器配置、自动...