在C ++中使用嵌入式lua从外部目录加载文件?

时间:2010-10-29 14:20:36

标签: c++ file lua directory

我正在使用C ++中的lua编写基本脚本系统。我的一个胶水功能是从这个调用:

lua_register(luaVM, "openFile", l_dial.l_specifyF);

编码如下:

static int l_specifyF(lua_State* luaVM) {
    const char* c = lua_tostring(luaVM, -1);
    cDialogManager::getSingletonPtr()->clearVector();
    try{
        luaL_dofile(luaVM, c);
    } 

    catch(...) {
        cout << "Unable to open file" << endl;
        luaL_dofile(luaVM, "startup.lua");
    }
    return 1;
}

当我在我的应用程序中调用它时,如果我从openFile("somefile.lua")openFile("someotherfile.lua")这样的本地目录调用文件,它会100%工作,但在调用位于外部文件夹(如{{}的文件时会崩溃1}}。

注意这个 实际上在某些情况下有效,这只会增加混乱。这有什么理由吗? 如何修复我的应用程序以使用外部目录中的文件?

1 个答案:

答案 0 :(得分:0)

根据您的描述,我严重怀疑它与文件夹结构有关。我的猜测是,你正在观察早期错误的后期反应......