在c++工程引入lua脚本,无法动态的加载的问题

在我的cocos2d_x3.17cpp工程里我添加的lua模块,在程序运行中修改lua文件,发现即使我修改了lua文件,它并不会调用修改后的lua文件,而是调用第一次执行的lua脚本。我怀疑cocos2d_x第一次加载文件时将它写进了缓存里,你修改文件后,第二次执行相同的文件,它不去路径里查找而是直接调用缓存里的,这个问题我无法解决,但百度后并没有相似的问题,希望大家可以帮我看看怎么解决。
lua文件修改前:
cpp:
LuaBridge::getStack()->executeScriptFile(“Scripts/testTable.lua”);
LuaHelper::getInstance()->execWithRef(“testTable:init”, node);
lua:
function testTable:init(node)
print(“testTable:init-==============================================”)
add()

print(type(node))
node:setPosition(600,200)

end

你用什么调试的?查询下你调试的路径

package.loaded 保存有所有加载的模块,你可以直接删除已经加载的某个模块,重新require
你这里不是走的require,应该不存在缓存

感谢大家的回复,问题已经找到了,cocos2d_x3.17的cpp工程执行时会执行一个自定义的生成步骤
if not exist “(OutDir)" mkdir "(OutDir)” if not exist “(OutDir)Resources" mkdir "(OutDir)Resources”
xcopy “(ProjectDir)..\Resources" "(OutDir)Resources” /D /E /I /F /Y
这个步骤将外面的rescource拷进exe的文件夹下,这也是我退出后重进会发现lua文件会改变(被拷贝了),可是动态加载的不改变的原因,因为我修改的是外部的文件而不是拷贝之后的,还是自己对vs不熟悉,没想到这茬。

1赞