Closed suxiaojack closed 5 years ago
目前xmake编译默认用的lua 5.3的接口,但是并没有自动编译lua 5.3的bin去运行tests
目前还是调用的系统 lua 去运行的,所以首先得确认你的系统装的lua程序版本,如果是 5.1环境
那么你可以改下xmake.lua里面lua的依赖版本到 5.1后,重新编译ltui.so再用lua 5.1加载运行
或者你可以装下lua5.3去加载运行
其实只要确保lua运行时版本 跟 ltui.so 依赖的lua版本一致就行了
可以通过luarocks install ltui,安装ltui到全局,但是版本似乎低了,示例程序test也失败
你可以看下装的lua版本,如果是 lua 5.1,那就用 lua 5.1 去运行它,lua tests\dialog.lua
ltui.so和ltui.lua的搜索路径,也是可以通过 LUA_CPATH和LUA_PATH环境变量修改的
或者如果觉得版本匹配麻烦,那就切到luajit来编译:xmake f --luajit=y -c; xmake
然后再用luajit去运行tests
OK,修改add_requires("lua5.1") add_package("lua5.1",{links=lualinks}) 用xmake,和xmake run test成功,不过显示效果和展示的图片有些出入,边框线没有3d效果。改用luajit之后,一切正常,谢谢!
我平常都是luajit 下测试的,lua51可能测试不全 回头改进下
运行环境ubuntu18.04 系统默认lua是5.1的luarocks install ltui缺少curses.h没有用此方式安装 git clone了本项目而后 xmake q 下载安装了lua5.3.5 ncurses6.1,默认是放在了~/.xmake/下了 (~/.xmake/cache/packages/l/lua/5.3.5/source/lua-5.3.5/src/lua.h ~/.xmake/cache/packages/l/lua/5.3.5/source/lua-5.3.5/src/lua.hpp ~/.xmake/installed/linux/x86_64/release/l/lua/5.3.5/include/lua/lua.h) 而后, xmake成功生成了./build/libltui.so 此时xmake run test dialog等等操作失败
/usr/bin/lua: error loading module 'ltui.lcurses' from file './build/libltui.so': ./build/libltui.so: undefined symbol: luaL_setfuncs stack traceback:
error: execv(/usr/bin/lua tests/window.lua) failed(1)! 这应该是运行的系统lua,和xmake生成使用的库不一致。
请问如何让xmake q安装需求库到全局?或者xmake静态链接?或者xmake run使用内部虚拟的路径?
然后又尝试,安装了libncurses5-dev 可以通过luarocks install ltui,安装ltui到全局,但是版本似乎低了,示例程序test也失败