首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows下编译带LFS的Lua5.3

Windows下编译带LFS的Lua5.3

原创
作者头像
Cheney
发布2020-08-19 11:13:08
2.5K0
发布2020-08-19 11:13:08
举报
文章被收录于专栏:游戏开发之路游戏开发之路

8LFS这个库可以实现平台无关(Linux和Windows通用)的文件系统访问 安装后只需 require "lfs"即可使用

但是Windows下面不管是下载Lua5.3.exe或者下载Lua5.3的源码进行编译,都是不包含lfs库的。这篇文章将讲解如何包含lfs库并重新编译Lua.exe。

步骤一:下载Lua源码并解压

http://www.lua.org/download.html

要用到的只是解压后src源码目录。可以看到并没有包含lfs的任何文件。

步骤二:LuaFileSystem的源码和编译修改 1、从github下载源码

https://github.com/keplerproject/luafilesystem 2、将lfs.h和lfs.c文件copy到lua的编译目录下) 3、修改用来编译的Makefile(lua-5.3.4/src/目录下)。 在“LIB_O = ”一行中添加 “lfs.o”,文件尾添加“lfs.o: lfs.c lfs.h” 4、在linit.c中的static const luaL_Reg loadedlibs[]里加入“{LUA_LFSLIBNAME, luaopen_lfs}” 5、在lualib.h 中加入“#define LUA_LFSLIBNAME "lfs””、“LUAMOD_API int (luaopen_lfs) (lua_State *L);” 6、重新make clean、make

如果在make的时候报错找不到“lua.h”请将lfs.c中的

#include <lua.h> #include <lauxlib.h> #include <lualib.h> 改为

#include "lua.h" #include "lauxlib.h"

步骤三:编译Lua源码

先我们找到 VS2017 开发人员命令提示打开它(或者VS2015 开发人员命令提示)

然后切换至刚刚我们解压缩出来的 Lua 下的 src 文件夹下

cd /d c:/lua/src 切换至 lua 源码包的 src 下之后执行

cl /MD /O2 /c /DLUA_BUILD_AS_DLL *.c

(备注:如果找不到cl.exe,则安装VS2017的时候需要勾选 C++/C 桌面开发)

ren lua.obj lua.o ren luac.obj luac.o link /DLL /IMPLIB:lua5.3.4.lib /OUT:lua5.3.4.dll *.obj link /OUT:lua.exe lua.o lua5.3.4.lib lib /OUT:lua5.3.4-static.lib *.obj link /OUT:luac.exe luac.o lua5.3.4-static.lib --------------------- 生成的文件有 lua5.3.4.dll lua5.3.4.exp lua5.3.4.lib lua5.3.4-static.lib lua.exe 这表明编译 Lua 源码工程已完成,此时我们将 C:\lua\src; 配置到 Path 环境变量下即可愉快的使用 lua 命令了。

步骤四:使用lfs

例如遍历一个文件夹下所有文件:

参考文章:

https://blog.csdn.net/qq_20363225/article/details/80806070

https://www.cnblogs.com/linxiong945/p/4106053.html

https://blog.csdn.net/xiaoping0915/article/details/74823726

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档