scriptkid
08-08-2011 20:44:45
I was able to compile a debug build, but i still have the issue where my binaries depend on VC8, which causes a crash. Do you have some more advice? This is the callstack after the crash:
> msvcr80d.dll!operator delete(void * pUserData=0x02583e18) Line 54 + 0x10 bytes C++
msvcp80d.dll!std::allocator<char>::deallocate(char * _Ptr=0x02583e18, unsigned int __formal=32) Line 147 + 0x9 bytes C++
msvcp80d.dll!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy(bool _Built=true, unsigned int _Newsize=0) Line 2086 C++
msvcp80d.dll!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >() Line 916 C++
_ogre_.pyd!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::`scalar deleting destructor'() + 0x10 bytes C++
_ogre_.pyd!boost::python::detail::value_destroyer<0>::execute<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >() + 0xd bytes C++
_ogre_.pyd!boost::python::detail::destroy_referent_impl<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const volatile >() + 0xc bytes C++
_ogre_.pyd!boost::python::detail::destroy_referent<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const volatile &>() + 0xe bytes C++
_ogre_.pyd!boost::python::converter::rvalue_from_python_data<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::~rvalue_from_python_data<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >() + 0x22 bytes C++
_ogre_.pyd!boost::python::converter::extract_rvalue<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::~extract_rvalue<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >() + 0x38 bytes C++
_ogre_.pyd!boost::python::extract<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::~extract<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >() + 0xf bytes C++
_ogre_.pyd!boost::python::indexing::mapping::register_value_type<boost::python::class_<stdext::hash_map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,stdext::hash_map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,Ogre::SharedPtr<Ogre::Resource>,stdext::hash_compare<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,Ogre::SharedPtr<Ogre::Resource> > > >,stdext::hash_compare<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,stdext::hash_map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,Ogre::SharedPtr<Ogre::Resource>,stdext::hash_compare<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,Ogre::SharedPtr<Ogre::Resource> > > > > > >,boost::python::detail::not_specified,boost::python::detail::not_specified,boost::python::detail::not_specified>,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,stdext::hash_map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,Ogre::SharedPtr<Ogre::Resource>,stdext::hash_compare<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,Ogre::SharedPtr<Ogre::Resource> > > > >,boost::python::return_value_policy<boost::python::return_by_value,boost::python::default_call_policies> >() + 0xb5 bytes C++
_ogre_.pyd! ?? :: ?? ::visit_container_class<boost::python::class_<stdext::hash_map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,stdext::hash_map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,Ogre::SharedPtr<Ogre::Resource>,stdext::hash_compare<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,Ogre::SharedPtr<Ogre::Resource> > > >,stdext::hash_compare<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,stdext::hash_map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,Ogre::SharedPtr<Ogre::Resource>,stdext::hash_compare<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,Ogre::SharedPtr<Ogre::Resource> > > > > > >,boost::python::detail::not_specified,boost::python::detail::not_specified,boost::python::detail::not_specified>,boost::python::return_value_policy<boost::python::return_by_value,boost::python::default_call_policies> >() + 0x31 bytes C++
_ogre_.pyd! ?? :: ?? ::visit<boost::python::class_<stdext::hash_map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,stdext::hash_map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,Ogre::SharedPtr<Ogre::Resource>,stdext::hash_compare<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,Ogre::SharedPtr<Ogre::Resource> > > >,stdext::hash_compare<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,stdext::hash_map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,Ogre::SharedPtr<Ogre::Resource>,stdext::hash_compare<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,Ogre::SharedPtr<Ogre::Resource> > > > > > >,boost::python::detail::not_specified,boost::python::detail::not_specified,boost::python::detail::not_specified> >() + 0x176 bytes C++
_ogre_.pyd!visit< ?? :: ?? >() + 0x16 bytes C++
_ogre_.pyd! ?? :: ?? ::visit<boost::python::class_<stdext::hash_map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,stdext::hash_map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,Ogre::SharedPtr<Ogre::Resource>,stdext::hash_compare<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,Ogre::SharedPtr<Ogre::Resource> > > >,stdext::hash_compare<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,stdext::hash_map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,Ogre::SharedPtr<Ogre::Resource>,stdext::hash_compare<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,Ogre::SharedPtr<Ogre::Resource> > > > > > >,boost::python::detail::not_specified,boost::python::detail::not_specified,boost::python::detail::not_specified> >() + 0x14 bytes C++
_ogre_.pyd!??$def@V?$visitor@V?$map_algorithms@V?$map_traits@V?$hash_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$hash_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$SharedPtr@VResource@Ogre@@@Ogre@@V?$hash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@stdext@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$SharedPtr@VResource@Ogre@@@Ogre@@@std@@@2@@stdext@@V?$hash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@4@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$hash_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$SharedPtr@VResource@Ogre@@@Ogre@@V?$hash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@stdext@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$SharedPtr@VResource@Ogre@@@Ogre@@@std@@@2@@stdext@@@std@@@2@@stdext@@@indexing@python@boost@@Uno_override@detail@234@@indexing@python@boost@@U?$return_value_policy@Ureturn_by_value@python@boost@@Udefault_call_policies@23@@34@$0PPPPPPPP@@indexing@python@boost@@@?$class_@V?$hash_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$hash_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$SharedPtr@VResource@Ogre@@@Ogre@@V?$hash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@stdext@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$SharedPtr@VResource@Ogre@@@Ogre@@@std@@@2@@stdext@@V?$hash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@4@V?() + 0x13 bytes C++
_ogre_.pyd!register_ResourceWithGroupMap_class() + 0x5c bytes C++
_ogre_.pyd!init_module__ogre_() + 0x37 bytes C++
boost_python-vc90-mt-gd-1_45.dll!boost::detail::function::void_function_ref_invoker0<void (__cdecl*)(void),void>::invoke(boost::detail::function::function_buffer & function_obj_ptr={...}) Line 189 C++
boost_python-vc90-mt-gd-1_45.dll!boost::function0<void>::operator()() Line 1013 + 0x14 bytes C++
boost_python-vc90-mt-gd-1_45.dll!boost::python::handle_exception_impl(boost::function0<void> f={...}) Line 26 C++
boost_python-vc90-mt-gd-1_45.dll!boost::python::handle_exception<void (__cdecl*)(void)>(void (void)* f=0x1223ed80) Line 29 + 0x2c bytes C++
boost_python-vc90-mt-gd-1_45.dll!boost::python::detail::init_module(const char * name=0x12d94a6c, void (void)* init_function=0x1223ed80) Line 53 + 0x9 bytes C++
_ogre_.pyd!_init_ogre_() + 0x13 bytes C++
python26.dll!1e028ed7()
As you can see, the code 'starts' with the boost VC9 dll, but tries to delete something in VC8...
Thanks again for any input!