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