gpt4 book ai didi

c++ - Ogre RenderWindow 断言失败错误

转载 作者:太空宇宙 更新时间:2023-11-04 13:46:03 27 4
gpt4 key购买 nike

我正在尝试使用下面给出的代码将 Ogre 嵌入到 Qt 中: https://github.com/gklingler/QOgreWidget

它在我的系统上运行良好,没有任何问题,但是当我尝试在我的 Qt 应用程序中添加它时,我收到以下错误:

SceneManagerFactory for type 'PCZSceneManager' registered.
MovableObjectFactory for type 'PCZLight' registered.
MovableObjectFactory for type 'Portal' registered.
MovableObjectFactory for type 'AntiPortal' registered.
PCZone Factory Type 'ZoneType_Octree' registered
SceneManagerFactory for type 'OctreeSceneManager' registered.
app: ../app/ogre/ogrebasewidget.cpp:45: OgreBaseWidget::OgreBaseWidget(Ogre::Root*, OgreEventHandler*, QWidget*): Assertion `ogreWinId' failed.
The program has unexpectedly finished.

错误指向这段代码:

Ogre::String winHandle;

winHandle = Ogre::StringConverter::toString((unsigned long) (QX11Info::display()));
winHandle += " : ";
winHandle = Ogre::StringConverter::toString((unsigned long) (QX11Info::appScreen()));
winHandle += " : ";
winHandle = Ogre::StringConverter::toString((unsigned long) (winId()));

Ogre::NameValuePairList params;
params["parentWindowHandle"] = winHandle;
params["FSAA"] = Ogre::String("8");

int w = width();
int h = height();
mOgreRenderWindow = mOgreRoot->createRenderWindow("OgreWidget_RenderWindow",
qMax(w, 640),
qMax(h, 480),
false, &params);
mOgreRenderWindow->setActive(true);
mOgreRenderWindow->setVisible(true);

WId ogreWinId = 0x0;
mOgreRenderWindow->getCustomAttribute("WINDOW", &ogreWinId);
assert(ogreWinId);
QWidget::create(ogreWinId);
setAttribute(Qt::WA_OpaquePaintEvent);

我已经包括了<cassert>在标题中。帮我解决这个问题。 :(

最佳答案

我找到了它给出这个错误的原因。我安装了 Ogre 的旧版本 (1.7.4) 以及较新的 1.9 版本。

所以我从我的系统中清除了这个旧版本,瞧,它工作起来就像一个魅力。

关于c++ - Ogre RenderWindow 断言失败错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25927410/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com