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