此问题与Ogre3D项目版本2.1相关。
基本上我是根据Samples文件夹中的EmptyProject代码构建游戏。我也尝试过Tutorial01_Initialization中的代码。我收到了一个无法找到ogre.cfg的错误,这部分是正确的,因为它确实不存在,但如果它不存在则应该弹出对话框所以它可以创建。我在弹出的对话框错误框中收到另一个错误(由于我的操作系统语言翻译自瑞典语,对不起)" OGRE EXCEPTION(1813):无法找到给定的资源类型在ConfigDialog :: display"。
中的内存映像文件中我使用" Visual Studio 15 2017 Win64"在Windows上构建。发电机。 Ogre3D是静态构建和链接的。
这是Ogre.log中的文字:
-- Other stuff with no errors --
05:31:24: *-*-* OGRE Initialising
05:31:24: *-*-* Version 2.1.0unstable ('B')
05:31:24: OGRE EXCEPTION(6:FileNotFoundException): 'ogre.cfg' file not found! in ConfigFile::load at F:\Projects\GameBuild\Libs\Windows\src\Ogre3D\OgreMain\src\OgreConfigFile.cpp (line 88)
05:31:24: WARNING: GraphicsSystem::deinitialize() not called!!!
我想我曾经看到有人在某个地方说这可能是与链接到项目中的图书馆有关的问题而不是Ogre3D或来源本身,但我对此表示怀疑。我还有点怀疑该项目的源代码是错误的,因为我已经尝试了来自Ogre3D源的两个不同的项目,并且据我所知,两者都得到相同的错误消息。与Common文件有关。这里有一个变化是cmake问题,或许在使用Visual Studio生成器时我不知道这个问题吗?
如果你想查看我的源代码,只需将Common sources和EmptyProject源复制到某个目录并构建它,注释掉对MainEntryPoints :: createSystems和MainEntryPoints :: destroySystems的任何引用(你应该这样做)自己创建它们,但据我所知,你可以将它们注释掉,以使构建在这个阶段取得成功。)
答案 0 :(得分:0)
使用调试器找出传递给void ConfigFile::loadDirect(const String& filename, const String& separators, bool trimWhitespace)
的路径,然后检查该路径是否包含配置文件。