需要用lua写一个工具,c++调用lua,然后这个lua要require其他lua脚本,在主lua里面设置package.path,但一直都失败,甚至lua都无法编译通过。
project_path = cpp_getProjectPath() local path = project_path.."/?.lua;"
package.path = package.path ..";".. path
require "test"
网上查了很多也没找到,偶然想到是不是因为没有open对应的lua库所以lua调用不成功(新手一枚)?
然后在 c++里面加上
lua_pushcfunction(L, luaopen_package);
lua_pushstring(L, LUA_IOLIBNAME);
lua_call(L, , );
lua_pop(L, -);
然后再次运行,done!
其实上面这种一个个打开对应的库不是非常灵活,最好一次加载所有库,免得遇到这类问题还得回查是不是c部分忘了加载lua库,
//一次打开所有的库
luaL_openlibs(L);