记录安装编译luv,luvi,li,luvit全过程

1,编译luv

luv是一个libuv在lua中的绑定实现

1.1,luv和luajit2.05

如果系统已经装有luajit,这里直接luarocks make LUA_LIBRARIES=luajit

(注意)这里需要修改luv-scm-0.rockspec中代码,不然报错

[图片上传失败...(image-ea83c8-1588603916267)]

可是依然报错,那是路径没设置对,需要绝对路径,指向luajit安装目录

image-20200501090313842

还是报错,这次可能跟gcc有关系

image-20200501090734569

不是这个原因,原来是我们应该指向dll文件,

最终版本

luarocks make LUA_LIBRARIES=E:\luajit\lua51.dll

image-20200501092228393

1.2,luv和luajit2.1.0

通过自带的msbuild.bat生成,或者将上边dll链接到已经存在的luajit2.1.0版本

2,luvi的下载和使用

2.1 从github下载对应版本如下:

image-20200501082820960

官方使用说明

# Make a folder
git init myapp
# Write the app
vim myapp/main.lua
# Run the app
luvi myapp
# Build the binary when done
luvi myapp -o mybinary
# Run the new self-contained binary
./mybinary
# Deploy / Publish / Profit!

直接下载下来的exe,使用的时候老是报错,于是自己编译luvi试下

image-20200501102430986

最后原因是我
luvi helloluv -o helloluv
这句话中最后helloluv跟本身目录重合了,命令分辨不出到底是目录还是要生成的
可执行文件,修改为
luvi helloluv -o helloluv.exe或者luvi helloluv -o hellolua
就不会报错了,另外如果在代码文件目录,执行相对路径编译,也没问题
luvi ../helloluv -o helloluv


image-20200501144303313

main.lua不要也是可以的

image-20200501145318357

但是编译出来的exe,会执行出错

image-20200501145758709

看来官方下来的exe文件没有问题,但下边还是记录下,我当时的编译过程

2.2自己亲自编译

修改make.bat文件,将vs修改成本地的vs2019对应的vs版本16

image-20200501112514457

报错提示如下,于是将

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\amd64

加入环境变量

image-20200501113017150

接着报错如下: error MSB8020: The build tools for Visual Studio 2013 (Platform Toolset = 'v120') cannot be found.

image-20200501113914994

懒得折腾了,直接通过msys2用make regular

image-20200501123117512

然后

make
make test

msys2自带的perl版本不对,出现错误,于是复制windows的perl到msys2,设置环境变量

image-20200501140535759

还是报错,找不到vs的nmake命令,看来只能另外找办法了

image-20200501142646780

设置windows环境变量

MSYS2_PATH_TYPE=inherit

另外记录下,我尝试的办法所遇到的问题,以免后续犯错

增加系统路径中带有空格,解决:

export  PATH=$PATH:C:\\"Program Files (x86)"\\"Microsoft Visual Studio"\\2019\\Community\VC\\Tools\MSVC\\14.24.28314\\bin\Hostx64\\x64

所幸,不安装nmake,照样通过perl的脚本执行机制,也编译出openssl了,不折腾了

image-20200501143349691

3,lit包管理工具

image-20200501151353927
curl -L https://lit.luvit.io/packages/luvit/lit/latest.zip > lit.zip
luvi lit.zip -- make lit.zip

4,luvit

luvit是为luvi编译工具,提供一个类似nodejs api的一个库,非常强大,以后就可以用lua写类似nodejs的代码了

git clone https://github.com/luvit/luvit.git
cd luvit
make

后续lit和luvit安装后快,lit安装需要下载github的一个文件(自己想办法)

image-20200501203511954

你可能感兴趣的:(记录安装编译luv,luvi,li,luvit全过程)