Ogre3D показывает исключение при запуске программы - PullRequest
3 голосов
/ 29 января 2011

Я пытаюсь написать игру, используя движок Ogre.У меня было много проблем - GCC не скомпилировал программу, потому что не нашел OgreMain_d и OIS_d ... Я создал символические ссылки (я использую Linux) на libOgreMain.so.1.7.2 и libOIS-1.3.0.so и GCC скомпилировали мою программу, но ... программа показывает ошибку:

OGRE EXCEPTION(6:FileNotFoundException): 'resources.cfg' file not found! in ConfigFile::load at /home/m4tx/Programs/ogre_src_v1-7-2/OgreMain/src/OgreConfigFile.cpp (line 83)

Мой код:

#define OGRE_CHANGE1 ((1 << 16) | (1 << 8))

#include "Ogre.h"
#include "ExampleApplication.h"

#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
#define WIN32_LEAN_AND_MEAN
#include "windows.h"
#else
#include <iostream>
#endif

// Dziedziczymy ExampleApplication
class MyApp : public ExampleApplication
{
  protected:
  public:
    MyApp()
    {
    }

    ~MyApp()
    {
    }
  protected:
    void createScene(void)
    {
    }
};

#ifdef __cplusplus
extern "C" {
#endif

#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
#else
int main(int argc, char **argv)
#endif
{
  MyApp App;
   try
   {
     App.go();
     return 0;
   }
   catch (Ogre::Exception& e)
   {
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
     MessageBox( NULL, e.getFullDescription().c_str(), "Exception!",
           MB_OK | MB_ICONERROR | MB_TASKMODAL);
#else
     std::cerr <<"Exception:\n";
     std::cerr <<e.getFullDescription().c_str() <<"\n";
#endif
     return 1;
   }
}

#ifdef __cplusplus
}
#endif

Пожалуйста, помогите.

1 Ответ

3 голосов
/ 29 января 2011

Ваша подсказка четко указана в сообщении об ошибке.Пример платформы для Ogre предполагает наличие определенных файлов, таких как resource.cfg и даже plugins.cfg.Убедитесь, что это путь, и что носитель, необходимый для этих ресурсов, также доступен.

...