这是一个不需要用luarocks来安装的方案, 生成so来使用.
(本文在linux环境下操作)
准备
先去github上下载源码,解压后可见目录结构
LuaFileSystem打开Makefile,我们可以看到如果要生成so,可以使用
make lib
指令, 库将生成在src
下,并命名为lfs.so
Makefile
开始
如果执行lfs的make lib
时会报下面的错,
那么是因为lfs.c没有在系统类库目录
里找到lua.h
这个头文件,解决这个问题的方法也简单,
先去lua源码包src
目录下面找到这几个文件,
如果你的lua是使用
make linux local
的方式安装的, 那么这些文件不用你去lua/src
下挑着找,可以直接去lua/install/include
找.接下来我们把这些文件拷贝到
luafilesystem/src
下面, 并打开luafilesystem/src
下的lfs.c
文件,按照上面的错误提示,是在84行报的错,我们跳转过去可以看到
include的文件用<>包裹着
这时候我们只需要把这三个文件从用
<>
包裹(<系统类库目录>
),改成""
包裹("项目当前目录"
)即可.改完的样子
然后我们再去执行一遍
make lib
,记得去luafilesystem根目录
下执行,因为make
文件在那里.运行结果
最后
好了,这样就可以了,我们去luafilesystem/src
下看看,我们要的东西就在那里.
接下来,就把它加到你的工程,和其他so一样, 在你的lua脚本里
require "lfs"
,然后使用它吧 : )
网友评论