Panda3D и load_model С++

Я новичок в panda3d и пробую привет мир.

Я получил программу для запуска только с:

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() он не будет компилироваться. У меня есть panda-model.egg.pz в каждой папке моего проекта С++, но каждый раз, когда моя программа прерывается:

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

Сообщение excat: Необработанное исключение по адресу 0x0152a317 в Irr.exe: 0xC00001A5: Обнаружена недопустимая процедура обработчика исключений.

Он отлично компилируется, единственное предупреждение заключается в том, что он не может найти файлы pdb, но это не имеет значения.

Любые идеи?

Кстати, я использую MSVC++ 2010 и panda3d 1.7.2.

Единственная ошибка, которую я могу найти, это: исключение первого шанса на 0x00bfa317 в Irr.exe: 0xC0000005: местоположение чтения нарушения доступа 0x737265db. Необработанное исключение по адресу 0x00bfa317 в Irr.exe: 0xC00001A5: обнаружена недопустимая процедура обработчика исключений. Программа «[8476] Irr.exe: Native» завершилась с кодом 0 (0x0).

который, я почти уверен, все еще довольно расплывчатый. Извините, но это все, что я могу найти. Я был бы рад описать это больше, хотя, если это необходимо.


person user1935324    schedule 09.02.2013    source источник
comment
Он не скомпилируется, это как-то... расплывчато. Не могли бы вы отредактировать свой вопрос, включив в него фактические ошибки компиляции/компоновщика? И сообщение об ошибке, которое вы публикуете, не является ошибкой компиляции, это ошибка времени выполнения, также известная как сбой. Чтобы поймать это, вы должны запустить свою программу в отладчике.   -  person Some programmer dude    schedule 09.02.2013
comment
Он компилируется каждый раз, он просто ломается, когда я добавляю код импорта.   -  person user1935324    schedule 10.02.2013


Ответы (1)


Microsoft Visual C++ 2010 не поддерживается текущими версиями Panda3D. Вам нужно будет использовать 2008 или скомпилировать Panda3D SDK из исходного кода против MSVC 2010. (Это не так просто, как кажется, так как вам также потребуется скомпилировать некоторые сторонние пакеты для совместимости с 2010. Однако это возможно. .)

Если вы настаиваете на использовании версии 2010 вместо версии 2008, этот пост на форуме может быть полезен: https://www.panda3d.org/forums/viewtopic.php?t=12663

person rdb    schedule 05.03.2013
comment
Это уже не так на момент написания; MSVC 2010 поддерживается в CVS-версии Panda3D. См. эту тему: panda3d.org/forums/viewtopic.php?f= 9&t=16346 - person rdb; 11.07.2014
comment
Этот предыдущий комментарий больше не соответствует действительности; Panda3D теперь требует как минимум MSVC 2015. - person rdb; 10.04.2018