2011-01-29 5 views
3

私はOgreエンジンを使ってゲームを書くことを試みています。私は多くの問題がありました.GCCはOgreMain_dとOIS_dを見つけられなかったのでプログラムをコンパイルしませんでした。libOgreMain.so.1.7.2とlibOIS-1.3.0にシンボリックリンク(私はLinuxを使用しています)を作成しました.soおよびGCCは、私のプログラムをコンパイルしますが、...プログラムはエラーを示しています。Ogre3Dはプログラム起動時に例外を表示します

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 

を助けてください。

+2

プログラムのディレクトリに 'resources.cfg'ファイルがありますか? 'ExampleApplication'クラス(またはOgre自身)には明らかに1つのクラスが必要です。 –

答えて

3

あなたのヒントは明らかにエラーメッセージです。 Ogreのフレームワークの例では、resource.cfgplugins.cfgのような特定のファイルが利用可能であると想定しています。これがパスにあり、それらのリソースに必要なメディアも使用可能であることを確認してください。

+0

これらのファイルはどこで入手できますか? :) – m4tx

+0

@ m4tx、それらはすべてのサンプルが使用するOgreディストリビューションのメディアフォルダにあります。 –

関連する問題