Почему C ++ не видит мой файл сценария lua? - PullRequest
1 голос
/ 16 апреля 2011

У меня есть простая проблема с интеграцией Lua с c ++. У меня есть проект в Visual Studio: http://i.stack.imgur.com/nNw6H.png

и я запускаю свою функцию lua_init ():

bool lua_init(std::string &luaScriptName){
// Create the Lua state. Explanation from Lua 5.1 Ref. Manual:

globalL = luaL_newstate(); // 5.1 OK - Lua 5.0 or lower will probably require different commands

if( globalL == NULL )
    return false;

    // Loads all Lua standard libraries
luaL_openlibs(globalL);  // 5.1 OK - Lua 5.0 or lower will require different commands

// This lot below could be replaced with luaL_dofile, but that just does: luaL_loadfile(..) || lua_pcall(..), which gives no reporting of error messages etc.
int initError = luaL_loadfile(globalL,luaScriptName.c_str());
switch( initError )
{
    case 0:
        // The file loaded okay, so call it as a protected function - to stop fatal errors from exiting the program
        lua_pcall(globalL,0,0,0);
        break;
    case LUA_ERRFILE:
        std::cerr<<"Cannot find / open lua script file: "<<luaScriptName<<std::endl<<"Skipping Lua init."<<std::endl;
        break;
    case LUA_ERRSYNTAX:
        std::cerr<<"Syntax error during pre-compilation of script file: " <<luaScriptName<<std::endl<<"Skipping Lua init."<<std::endl;
        break;
    case LUA_ERRMEM:
        // Treating this as fatal, since it means other Lua calls are unlikely to work either
        std::cerr<<"Fatal memory allocation error during processing of script file: " <<luaScriptName<<std::endl;
        return false;
}
return true;

}

но не знаю, я получаю сообщение об ошибке «Не удается найти / открыть файл сценария lua:»

Должен ли я указать свой скрипт.lua на Visual Studio? файл находится в каталоге проекта.

1 Ответ

1 голос
/ 16 апреля 2011

Ваш код будет отображаться там, где находится бинарный файл, или в целевом каталоге в режиме отладки.Поэтому убедитесь, что ваш файл lua доступен для вашего двоичного файла при его запуске.Если это с вашими исходными файлами, конечно, это не доступно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...