需要用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, 1, 0);
    lua_pop(L, -1);

然后再次运行,done!

其实上面这种一个个打开对应的库不是非常灵活,最好一次加载所有库,免得遇到这类问题还得回查是不是c部分忘了加载lua库,

//一次打开所有的库
    luaL_openlibs(L);

 

相关文章:

  • 2022-12-23
  • 2021-05-10
  • 2021-11-06
  • 2021-07-06
  • 2022-12-23
  • 2022-12-23
  • 2021-04-23
  • 2021-09-01
猜你喜欢
  • 2022-12-23
  • 2021-11-29
  • 2021-11-23
  • 2022-01-31
  • 2021-10-19
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案