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