【问题标题】:Ogre Tutorial project compiles but no render window displayedOgre Tutorial 项目编译但没有显示渲染窗口
【发布时间】:2015-05-30 15:43:48
【问题描述】:

感谢您抽出宝贵时间查看我的问题。我通常只在似乎没有其他办法解决我的问题时才使用 Stackoverflow,而且实际上我已经花了两天多的时间来讨论 Ogre3D 的安装和设置。

我正在运行 Windows 7 64 位系统并使用 Visual Studio 2010 编译 Ogre 库。我有相当多的编程经验。

这个问题已经很贴切地被标题概括了,但是为了提供更多细节,我已经设法编译了 Ogre 网站上提供的 Tutorial Application 的源代码:

http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Setting+Up+An+Application

我已经浏览了它的每一寸,以及通向它的页面,并检查了所有内容。我确信指示已被严格遵守。

问题是,代码似乎可以正常编译,但无论我尝试做什么,RENDER WINDOW 都不会显示。

当我尝试“开始调试”时,所发生的只是一个应用程序进程启动,该进程在后台运行,没有 GUI 初始化。我在 Debug 和 Release 模式下都试过了,除了 Release 模式编译和执行速度更快之外,它似乎没有明显的区别。

我到底做错了什么?

感谢您的宝贵时间!

编辑:我查看了 Ogre 目录中的错误日志,没有发现任何安装错误或失败的证据。所以这在一定程度上缩小了范围。

编辑 2:spacegaier 非常好心地帮助了我,并建议我删除 ogre.cfg 以便重新创建它。他还认为可能是网站上使用的设置根本不适用于我的机器。

即使源代码编译成功,代码似乎也没有到达启动配置显示的位置。

编辑 3: 调试日志:

'Ogre_Project.exe':已加载 'C:\Users\Nightmask3\Cworkspace\OgreSDK\bin\debug\Ogre_Project.exe',已加载符号。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\ntdll.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\kernel32.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\KernelBase.dll”,已加载符号(已删除源信息)。
'Ogre_Project.exe':已加载 'C:\Users\Nightmask3\Cworkspace\OgreSDK\bin\debug\OgreMain_d.dll',找不到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\user32.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\gdi32.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\lpk.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\usp10.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\msvcrt.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\advapi32.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\sechost.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\rpcrt4.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\sspicli.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\cryptbase.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\shell32.dll”,无法找到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\shlwapi.dll”,已加载符号(已删除源信息)。
'Ogre_Project.exe':已加载 'C:\Windows\SysWOW64\msvcp110d.dll',已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\msvcr110d.dll”,已加载符号。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\ws2_32.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\nsi.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Users\Nightmask3\Cworkspace\OgreSDK\bin\debug\OIS_d.dll”,找不到或无法打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\dinput8.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Users\Nightmask3\Cworkspace\OgreSDK\bin\debug\OgreOverlay_d.dll”,找不到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\msvcp100d.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\msvcr100d.dll”,无法找到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\imm32.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\msctf.dll”,已加载符号(已删除源信息)。
创建资源组常规
创建资源组内部
创建资源组自动检测
已注册“DefaultSceneManager”类型的 SceneManagerFactory。
为 Material
类型注册 ResourceManager 为 Mesh
类型注册 ResourceManager 为 Skeleton 类型注册 ResourceManager
已注册“ParticleSystem”类型的 MovableObjectFactory。
ArchiveFactory 用于归档类型 FileSystem 已注册。
ArchiveFactory 用于归档类型 Zip 已注册。
ArchiveFactory 用于存档类型 EmbeddedZip 已注册。
DDS编解码器注册
FreeImage 版本:3.15.3
该程序使用 FreeImage,这是一个免费的开源图像库,支持所有常见的位图格式。详情请见http://freeimage.sourceforge.net
支持的格式:bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif ,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi,exr,j2k,j2c,jp2,pfm,pct,pict,pic,3fr,arw,bay,bmq,cap ,电影,cr2,crw,cs1,dc2,dcr,drf,dsc,dng,erf,fff,ia,iiq,k25,kc2,kdc,mdc,mef,mos,mrw,nef,nrw,orf,pef,ptx ,pxn,qtk,raf,raw,rdc,rw2,rwl,rwz,sr2,srf,srw,sti
为 HighLevelGpuProgram 类型注册 ResourceManager
为类型合成器注册 ResourceManager
已注册“实体”类型的 MovableObjectFactory。
已注册“Light”类型的 MovableObjectFactory。
已注册“BillboardSet”类型的 MovableObjectFactory。
已注册“ManualObject”类型的 MovableObjectFactory。
已注册“BillboardChain”类型的 MovableObjectFactory。
已注册“RibbonTrail”类型的 MovableObjectFactory。
加载库 .\RenderSystem_Direct3D9_d
“Ogre_Project.exe”:已加载“C:\Users\Nightmask3\Cworkspace\OgreSDK\bin\debug\RenderSystem_Direct3D9_d.dll”,找不到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\d3d9.dll”,无法找到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\version.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\d3d8thk.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\dwmapi.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\D3DX9_43.dll”,已加载符号(已删除源信息)。
安装插件:D3D9 RenderSystem
D3D9:创建 Direct3D9 渲染子系统。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\uxtheme.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\nvd3dum.dll”,无法找到或打开 PDB 文件
'Ogre_Project.exe':已加载 'C:\Windows\SysWOW64\psapi.dll',已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\ole32.dll”,无法找到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\nvspcap.dll”,无法找到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\oleaut32.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\setupapi.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\cfgmgr32.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\devobj.dll”,已加载符号(已删除源信息)。
线程“Win32 线程”(0x23f0) 已退出,代码为 0 (0x0)。
D3D9:驱动程序检测开始
D3D9:驱动程序检测结束
插件安装成功
加载库 .\RenderSystem_Direct3D11_d
“Ogre_Project.exe”:已加载“C:\Users\Nightmask3\Cworkspace\OgreSDK\bin\debug\RenderSystem_Direct3D11_d.dll”,找不到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\d3d11.dll”,无法找到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\dxgi.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\D3DCompiler_43.dll”,无法找到或打开 PDB 文件
安装插件:D3D11 RenderSystem
D3D11:创建 Direct3D11 渲染子系统。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\dxgidebug.dll”,无法找到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\wintrust.dll”,无法找到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\crypt32.dll”,无法找到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\msasn1.dll”,无法找到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\nvwgf2um.dll”,无法找到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\bcrypt.dll”,已加载符号(已删除源信息)。
线程“Win32 线程”(0x2f4c) 已退出,代码为 0 (0x0)。
D3D11:驱动程序检测开始
D3D11:驱动程序检测结束
插件安装成功
加载库 .\RenderSystem_GL_d
“Ogre_Project.exe”:已加载“C:\Users\Nightmask3\Cworkspace\OgreSDK\bin\debug\RenderSystem_GL_d.dll”,找不到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\glu32.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\opengl32.dll”,无法找到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\ddraw.dll”,无法找到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\dciman32.dll”,已加载符号(已删除源信息)。
安装插件:GL RenderSystem
已创建 OpenGL 渲染子系统。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\nvoglv32.dll”,无法找到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\wtsapi32.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\ntmarta.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\Wldap32.dll”,已加载符号(已删除源信息)。
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\powrprof.dll”,已加载符号(已删除源信息)。
线程“Win32 线程”(0x2f34) 已退出,代码为 0 (0x0)。
“Ogre_Project.exe”:已卸载“C:\Windows\SysWOW64\powrprof.dll”
“Ogre_Project.exe”:已加载“C:\Windows\SysWOW64\winsta.dll”,已加载符号(已删除源信息)。
线程“Win32 线程”(0x2598) 已退出,代码为 0 (0x0)。
线程“Win32 线程”(0x33e4) 已退出,代码为 0 (0x0)。
线程“Win32 线程”(0xf1c) 已退出,代码为 0 (0x0)。
插件安装成功
加载库 .\Plugin_ParticleFX_d
“Ogre_Project.exe”:已加载“C:\Users\Nightmask3\Cworkspace\OgreSDK\bin\debug\Plugin_ParticleFX_d.dll”,找不到或打开 PDB 文件
安装插件:ParticleFX
粒子发射器类型“点”已注册
粒子发射器类型“盒子”已注册
粒子发射器类型“椭球体”已注册
粒子发射器类型“圆柱体”已注册
粒子发射器类型“环”已注册
已注册粒子发射器类型“HollowEllipsoid”
已注册粒子影响器类型“LinearForce”
已注册粒子影响器类型“ColourFader”
已注册粒子影响器类型“ColourFader2”
已注册粒子影响器类型“ColourImage”
已注册粒子影响器类型“ColorInterpolator”
已注册粒子影响器类型“缩放器”
粒子影响器类型“旋转器”已注册
已注册粒子影响器类型“DirectionRandomiser”
已注册粒子影响器类型“DeflectorPlane”
插件安装成功
加载库 .\Plugin_BSPSce​​neManager_d
“Ogre_Project.exe”:已加载“C:\Users\Nightmask3\Cworkspace\OgreSDK\bin\debug\Plugin_BSPSce​​neManager_d.dll”,找不到或打开 PDB 文件
安装插件:BSP 场景管理器
插件安装成功
加载库 .\Plugin_CgProgramManager_d
“Ogre_Project.exe”:已加载“C:\Users\Nightmask3\Cworkspace\OgreSDK\bin\debug\Plugin_CgProgramManager_d.dll”,找不到或打开 PDB 文件
“Ogre_Project.exe”:已加载“C:\Users\Nightmask3\Cworkspace\OgreSDK\bin\debug\cg.dll”,找不到或打开 PDB 文件
安装插件:Cg Program Manager
插件安装成功
加载库 .\Plugin_PCZSceneManager_d
“Ogre_Project.exe”:已加载“C:\Users\Nightmask3\Cworkspace\OgreSDK\bin\debug\Plugin_PCZSceneManager_d.dll”,找不到或打开 PDB 文件
安装插件:Portal Connected Zone Scene Manager
PCZone 工厂类型“ZoneType_Default”已注册
插件安装成功
加载库 .\Plugin_OctreeZone_d
“Ogre_Project.exe”:已加载“C:\Users\Nightmask3\Cworkspace\OgreSDK\bin\debug\Plugin_OctreeZone_d.dll”,找不到或打开 PDB 文件
安装插件:Octree Zone Factory
插件安装成功
加载库 .\Plugin_OctreeSceneManager_d
“Ogre_Project.exe”:已加载“C:\Users\Nightmask3\Cworkspace\OgreSDK\bin\debug\Plugin_OctreeSceneManager_d.dll”,无法找到或打开 PDB 文件
安装插件:八叉树场景管理器
插件已成功安装
--* OGRE 初始化
--* 版本 1.9.0 (Ghadamon)
线程“Win32 线程”(0x22f8) 已退出,代码为 0 (0x0)。
线程“Win32 线程”(0x3010) 已退出,代码为 0 (0x0)。

编辑 4:

好的,问题解决了。将我的环境切换到 Visual Studio 2013 并使用相同的设置以及 Lothar 从此处制作的预构建二进制文件:ogre3d.org/forums/viewtopic.php?f=9&t=79550&start=25 这个人值得奖励。

【问题讨论】:

  • 你看到一个 Ogre3D 显示配置对话框出现了吗?如果没有,请删除 ogre.cfg 文件,以便在下一次应用程序运行期间显示它。可能是教程页面上列出的值根本不适用于您的机器。跨帖:ogre3d.org/forums/…
  • 抱歉,我认为交叉发帖仅限于 Ogre3D 网页本身的不同论坛!
  • 完全没有考虑扩展到其他论坛。今后将不再使用它。
  • 你试过了吗,我的建议是什么?结果如何?应用程序的行为有什么变化?
  • 我一直在搜索 Ogre SDK 目录,但似乎在任何地方都没有 Ogre.cfg!也许这就是问题所在?

标签: c++ visual-studio-2010 installation ogre


【解决方案1】:

为了清楚起见,张贴作为答案。

在我寻找答案的过程中,我已经看到多次出现此问题,这让我认为这可能是某种规律性发生的事情。如果其他人遇到类似情况,这是我的解决方法:

1) 问题似乎是由与 Visual Studio 2010 相关的某些东西引起的,但我不确定它是特定于我的环境,还是项目设置中的错误或其他类似问题。我对设置进行了三次检查,因此我相当有信心它至少在我的机器上可能与 VS 2010 相关联。

2) 我运行的是 Windows 7 64 位系统,这是导致该问题的另一个潜在原因。我不确定我是否必须使用网站上提供的 64 位预构建二进制文件或仅使用 32 位版本。感觉我应该使用稳定的 1.9 32 位版本,这就是我在这个安装中所做的,但它根本不起作用。如果您有 64 位系统,这可能就是您要寻找的答案。

2) 如果您还没有 Microsoft Visual Studio 2013,请安装它。它也是目前唯一被虚幻引擎4识别的IDE,所以至少它提供了一个统一的工作环境。

3) 在 Ogre3D 论坛上下载由 Lothar 用户精心编译的 Ogre v1.9 的预编译二进制文件。这些是在 64 位系统上使用的,并且是为 VS2013 专门编译的,所以我怀疑它们是否适用于任何其他配置。

http://www.ogre3d.org/forums/viewtopic.php?f=27&t=79550&p=504669&hilit=2013#p504699

4) 使用 Ogre3D 网站上提供的指南在 VS 2013 中配置您的项目环境,因为它需要使用 Ogre。

http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Installing+the+Ogre+SDK

5) 下载教程框架文件并将它们包含在您的项目中。

6) 在 Visual Studio 中将目标机器类型从“x86”设置为“x64”。

7) 编译并运行,瞧!应用程序成功执行。 (希望)

希望这对某人有用! 感谢 spacegaier 抽出时间帮助我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-06
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    相关资源
    最近更新 更多