有两个方法:
一种方法是在lua源码中扩展宏:
#define LUA_PATH_DEFAULT \
LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" "E:\\OGL5\\c++calllua\\luascript\\?.lua;" \
LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" \
LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \
".\\?.lua;" ".\\?\\init.lua" \
第二种方法是在:lua中追加path
这种方法要求的是:
1.这里的hello.lua文件在能找到的目录里
这里的确保入口文件hello.lua能够找到,然后在hello.lua中通过代码:
print(package.path)
package.path = package.path .. ";E:\\OGL5\\c++calllua\\luascript\\?.lua;"
print("hello")
print(package.path)
require 'person'
c = add(1,4)
print(c)
package.path = package.path … “;E:\OGL5\c++calllua\luascript\?.lua;”
这句代码,增加lua寻找脚本的路径。
经过上面的扩展路径之后:
E:\OGL5\c++calllua\c++calllua\Debug\lua\?.lua;
E:\OGL5\c++calllua\c++calllua\Debug\lua\?\init.lua;
E:\OGL5\c++calllua\c++calllua\Debug\?.lua;
E:\OGL5\c++calllua\c++calllua\Debug\?\init.lua;
E:\OGL5\c++calllua\c++calllua\Debug\..\share\lua\5.3\?.lua;
E:\OGL5\c++calllua\c++calllua\Debug\..\share\lua\5.3\?\init.lua;.\?.lua;.\?\init.lua
hello
E:\OGL5\c++calllua\c++calllua\Debug\lua\?.lua;
E:\OGL5\c++calllua\c++calllua\Debug\lua\?\init.lua;
E:\OGL5\c++calllua\c++calllua\Debug\?.lua;
E:\OGL5\c++calllua\c++calllua\Debug\?\init.lua;
E:\OGL5\c++calllua\c++calllua\Debug\..\share\lua\5.3\?.lua;
E:\OGL5\c++calllua\c++calllua\Debug\..\share\lua\5.3\?\init.lua;.\?.lua;.\?\init.lua;
E:\OGL5\c++calllua\luascript\?.lua;;
可以看到最后一行已经追加了搜索的路径了。