lua package.path的使用


需要用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);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM