c++ - Panda3D 和 load_model c++

标签 c++ panda3d

我是 panda3d 的新手,正在尝试 hello world。

我已经让程序运行了:

PandaFramework framework;
framework.open_framework(argc, argv);
WindowFramework *window = framework.open_window();

framework.main_loop();
framework.close_framework();
return 0;

但是,如果我添加:

NodePath environt = window->load_model(framework.get_models(), "panda-model");
environt.reparent_to(window->get_render());
environt.set_scale(0.25, 0.25, 0.25);
environt.set_pos(-8, 42, 0);

在 main_loop() 之前,它不会编译。我的 c++ 项目的每个文件夹中都有 panda-model.egg.pz 但每次我的程序中断时:

environt.reparent_to(window->get_render());

excat 消息是:Irr.exe 中 0x0152a317 处未处理的异常:0xC00001A5:已检测到无效的异常处理程序例程。

它编译得很好,唯一的提示是它找不到 pdb 文件,但这并不重要。

有什么想法吗?

顺便说一句,我使用的是 MSVC++ 2010 和 panda3d 1.7.2

我能找到的唯一错误是:Irr.exe 中 0x00bfa317 处的第一次机会异常:0xC0000005:访问冲突读取位置 0x737265db。 Irr.exe 中 0x00bfa317 处未处理的异常:0xC00001A5:检测到无效的异常处理程序例程。 程序“[8476] Irr.exe: Native”已退出,代码为 0 (0x0)。

我很确定这仍然相当模糊。对不起,但这是我能找到的全部。如有必要,我很乐意对其进行更多描述。

最佳答案

当前版本的 Panda3D 不支持 Microsoft Visual C++ 2010。您将需要使用 2008 或根据 MSVC 2010 从源代码编译 Panda3D SDK。(这并不像听起来那么简单,因为您还需要编译一些第三方包以与 2010 兼容。但是,有可能.)

如果您坚持使用 2010 而不是 2008,此论坛帖子可能会有所帮助: https://www.panda3d.org/forums/viewtopic.php?t=12663

关于c++ - Panda3D 和 load_model c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14790615/

相关文章:

c++ - 为什么此 C++ 代码仅在 Microsoft 编译器上具有模棱两可的方法调用?

c++ - Panda3d 机器人

python - 如何让panda3d更快接受控件?

python - panda3d 中屏幕文本从右到左

c++ - map - 找到最近的值?

c++ - 在这种情况下如何避免代码重复问题?

c++ - glm glx 旋转不起作用

c++ - 基于字符串的派生类选择 - C++

c++ - 在 Panda3D 中实现我自己的镜头

python - Worldviz Vizard 与 Panda3D 和 Pygame 相比如何?