Error on linking demos
I'm getting a very frustrating collection of errors. When I try to build the Dynamics_Demos project under VC++ 2008 Express, I get the following errors:
1>------ Build started: Project: Dynamics_Demos, Configuration: Release Win32 ------
1>Linking...
1>LINK : warning LNK4224: /OPT:NOWIN98 is no longer supported; ignored
1> Creating library ..\..\bin\Release/OgreBulletDynamicsDemo.lib and object ..\..\bin\Release/OgreBulletDynamicsDemo.exp
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>OgreBulletCollisions.lib(OgreBulletCollisionsMeshToShapeConverter.obj) : error LNK2001: unresolved external symbol "public: __thiscall ConvexBuilder::ConvexBuilder(class ConvexDecomposition::ConvexDecompInterface *)" (??0ConvexBuilder@@QAE@PAVConvexDecompInterface@ConvexDecomposition@@@Z)
1>OgreBulletCollisions.lib(OgreBulletCollisionsMeshToShapeConverter.obj) : error LNK2001: unresolved external symbol "public: virtual __thiscall ConvexBuilder::~ConvexBuilder(void)" (??1ConvexBuilder@@UAE@XZ)
1>OgreBulletCollisions.lib(OgreBulletCollisionsMeshToShapeConverter.obj) : error LNK2001: unresolved external symbol "public: unsigned int __thiscall ConvexBuilder::process(class ConvexDecomposition::DecompDesc const &)" (?process@ConvexBuilder@@QAEIABVDecompDesc@ConvexDecomposition@@@Z)
1>..\..\bin\Release/OgreBulletDynamicsDemo.exe : fatal error LNK1120: 3 unresolved externals
...which is fine, because it looks then like I should be linking to another library. So, I add in "libconvexdecomposition.lib" to the libraries linked against, and I get a big pile of
1>------ Build started: Project: Dynamics_Demos, Configuration: Release Win32 ------
1>Linking...
1>LINK : warning LNK4224: /OPT:NOWIN98 is no longer supported; ignored
1>msvcprt.lib(MSVCP90.dll) : error LNK2005: "protected: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Myptr(void)const " (?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ) already defined in libconvexdecomposition.lib(vlookup.obj)
1>msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ) already defined in libconvexdecomposition.lib(vlookup.obj)
1>msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) already defined in libconvexdecomposition.lib(vlookup.obj)
...
and more. But, when I remove msvcprt.lib from being linked to, I get a whole other pile of 'unresolved externals' errors. Basically, I need to somehow get the linker to intelligently choose references between msvcprt.lib and libconvexdecomposition.lib, rather than just complain to me about over-definition. Is there some way to resolve this? Thanks!
DemiurgeDesigns
02-06-2009 03:14:29
Yeah I'm still getting that error as well.
Ogre SDK (newest)
SVN OgreBullet
Bullet 2.74 (built)
MSVS 2008
All the libs build correctly but the demos don't.
Heres the build log for the demos...
------ Build started: Project: Dynamics_Demos, Configuration: Debug Win32 ------
Linking...
LINK : warning LNK4224: /OPT:NOWIN98 is no longer supported; ignored
msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) already defined in libconvexdecomposition_d.lib(vlookup.obj)
msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) already defined in libconvexdecomposition_d.lib(vlookup.obj)
msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) already defined in libconvexdecomposition_d.lib(vlookup.obj)
msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: void __thiscall std::_Container_base_secure::_Orphan_all(void)const " (?_Orphan_all@_Container_base_secure@std@@QBEXXZ) already defined in libconvexdecomposition_d.lib(vlookup.obj)
msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ) already defined in libconvexdecomposition_d.lib(vlookup.obj)
msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::_Container_base_secure::~_Container_base_secure(void)" (??1_Container_base_secure@std@@QAE@XZ) already defined in libconvexdecomposition_d.lib(vlookup.obj)
msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::_Container_base_secure::_Container_base_secure(void)" (??0_Container_base_secure@std@@QAE@XZ) already defined in libconvexdecomposition_d.lib(vlookup.obj)
msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ) already defined in libconvexdecomposition_d.lib(vlookup.obj)
msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "protected: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Myptr(void)" (?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEPADXZ) already defined in libconvexdecomposition_d.lib(vlookup.obj)
msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::_String_base::~_String_base(void)" (??1_String_base@std@@QAE@XZ) already defined in libconvexdecomposition_d.lib(vlookup.obj)
msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::_String_base::_String_base(void)" (??0_String_base@std@@QAE@XZ) already defined in libconvexdecomposition_d.lib(vlookup.obj)
msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z) already defined in libconvexdecomposition_d.lib(vlookup.obj)
Creating library ..\..\..\..\..\..\Ogre\Samples\Common\bin\Debug/OgreBulletDynamicsDemo.lib and object ..\..\..\..\..\..\Ogre\Samples\Common\bin\Debug/OgreBulletDynamicsDemo.exp
LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library
..\..\..\..\..\..\Ogre\Samples\Common\bin\Debug/OgreBulletDynamicsDemo.exe : fatal error LNK1169: one or more multiply defined symbols found
Build log was saved at "file://d:\OgreAddons\OgreBullet\Demos\Dynamics_Demos\obj\Debug\BuildLog.htm"
Dynamics_Demos - 13 error(s), 2 warning(s)
========== Build: 0 succeeded, 1 failed, 2 up-to-date, 0 skipped ==========
I checked for Multi-threading on bullet and ob and they where all set. I have no idea what that patch file is fish contributed or how to use it. But I doubt thats necessary with the newest svn build of ob right?
CiaranMcC
28-09-2011 19:56:53
I also currently have the same problem as @Pans
dermont
29-09-2011 07:26:19
Not a Visual Studio user and I can see why you are having problems trying to build this. Things that you may want to try:
1) When building the debug libs for bullet it appears to overwrite the release libraries since both are installed to $CMAKE_INSTALL_PREFIX/lib. I edited the CMakefile.txt and added (probably screw up the bullet demos build):
set(CMAKE_DEBUG_POSTFIX "_d")
2) To build bullet with Multi-threaded DLL (/MD) from the cmake gui set:
USE_MSVC_RUNTIME_LIBRARY_DLL TRUE
Then regenerate the VS files and rebuild bullet ...
incaib
01-10-2011 19:16:20
I make ogreBullet and bulletdemos all with visual c++ express 2010 and all correct and all demos go fine. If any person of this post not solve her problem. I can help but using VC++ express 2010. For make bullet demos I use CMAKE and having correct variable systems in windows create project for VC2010 and go fine. See you.
guillaumequest
05-11-2011 20:49:24
Hello,
I'm also getting these errors.
I'm trying to build OgreBullet with Visual C++ 2010 Express from the SVN...
1>------ Build started: Project: Dynamics_Demos, Configuration: Release Win32 ------
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Documents and Settings\guillaume\Desktop\ogrebullet\Demos\Dynamics_Demos\scripts\VC8\..\..\..\Dynamics_Demos.exe) does not match the Linker's OutputFile property value (C:\Documents and Settings\guillaume\Desktop\ogrebullet\Demos\OgreBulletDynamicsDemo.exe). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(Dynamics_Demos) does not match the Linker's OutputFile property value (OgreBulletDynamicsDemo). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
1>msvcprt.lib(MSVCP100.dll) : error LNK2005: "public: void __thiscall std::_Container_base0::_Orphan_all(void)" (?_Orphan_all@_Container_base0@std@@QAEXXZ) already defined in convexdecomposition.lib(vlookup.obj)
1> Creating library ..\..\..\Dynamics_Demos.lib and object ..\..\..\Dynamics_Demos.exp
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>..\..\..\OgreBulletDynamicsDemo.exe : fatal error LNK1169: one or more multiply defined symbols found
========== Build: 0 succeeded, 1 failed, 2 up-to-date, 0 skipped ==========
dermont
06-11-2011 17:16:38
Hello,
I'm also getting these errors.
I'm trying to build OgreBullet with Visual C++ 2010 Express from the SVN...
Did you try building bullet with Multi-threaded DLL as suggested above:
Not a Visual Studio user and I can see why you are having problems trying to build this. Things that you may want to try:
1) When building the debug libs for bullet it appears to overwrite the release libraries since both are installed to $CMAKE_INSTALL_PREFIX/lib. I edited the CMakefile.txt and added (probably screw up the bullet demos build):
set(CMAKE_DEBUG_POSTFIX "_d")
2) To build bullet with Multi-threaded DLL (/MD) from the cmake gui set:
USE_MSVC_RUNTIME_LIBRARY_DLL TRUE
Then regenerate the VS files and rebuild bullet ...
sophiahncs
10-11-2011 03:53:09
I'm getting same error as pan, any better suggestion?
dermont
10-11-2011 07:11:21
I'm getting same error as pan, any better suggestion?
The above problem has been discussed in a number of threads in this forum.
Not sure what you mean by "better" suggestion.
You could try changing the Dynamics Demo build, this works for me on a Release build (though so did my original suggestion). I don't know why/didn't expect the following to work:
Dynamics Demo - C++ - Code Generation - Run Time Library
- Multi-threaded (/MT)
- Multi-threaded (/MTd)
Alternatively you can try ignoring certain libs. I couldn't get this to work:
http://msdn.microsoft.com/en-us/library/Aa267384
Also try asking on the bullet forums.
jamesz
04-03-2012 14:55:04
try "Use MFC in a Static Library"
censor
06-04-2012 17:16:11
On my 64-bit machine, I encounter the following errors when trying to build Dynamics_Demos for OgreBullet using MS Visual Studio 2010 Professional.
For the Debug x64 configuration:
3>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __cdecl std::_Container_base12::~_Container_base12(void)" (??1_Container_base12@std@@QEAA@XZ) already defined in ConvexDecomposition_Debug.lib(vlookup.obj)
3>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __cdecl std::_Container_base12::_Container_base12(void)" (??0_Container_base12@std@@QEAA@XZ) already defined in ConvexDecomposition_Debug.lib(vlookup.obj)
3>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: void __cdecl std::_Container_base12::_Orphan_all(void)" (?_Orphan_all@_Container_base12@std@@QEAAXXZ) already defined in ConvexDecomposition_Debug.lib(vlookup.obj)
3>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: struct std::_Iterator_base12 * * __cdecl std::_Container_base12::_Getpfirst(void)const " (?_Getpfirst@_Container_base12@std@@QEBAPEAPEAU_Iterator_base12@2@XZ) already defined in ConvexDecomposition_Debug.lib(vlookup.obj)
3> Creating library ..\..\..\Dynamics_Demos.lib and object ..\..\..\Dynamics_Demos.exp
3>LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library
3>..\..\..\Dynamics_Demos.exe : fatal error LNK1169: one or more multiply defined symbols found
For the Release x64 configuration:
1>msvcprt.lib(MSVCP100.dll) : error LNK2005: "public: void __cdecl std::_Container_base0::_Orphan_all(void)" (?_Orphan_all@_Container_base0@std@@QEAAXXZ) already defined in convexdecomposition.lib(vlookup.obj)
1> Creating library ..\..\..\Dynamics_Demos.lib and object ..\..\..\Dynamics_Demos.exp
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>..\..\..\Dynamics_Demos.exe : fatal error LNK1169: one or more multiply defined symbols found
Bullet version: 2.80 Rev. 2531
Ogre version: 1.7.3, 64-bit built from source
Boost version: 1_48
...So, what is it about ConvexDecomposition?
censor
09-04-2012 02:04:22
As a follow-up to my previous post, similar errors pop up when I try to link OgreBullet on my 32-bit machine:
1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall std::_Container_base12::~_Container_base12(void)" (??1_Container_base12@std@@QAE@XZ) already defined in ConvexDecomposition_debug.lib(vlookup.obj)
1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall std::_Container_base12::_Container_base12(void)" (??0_Container_base12@std@@QAE@XZ) already defined in ConvexDecomposition_debug.lib(vlookup.obj)
1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: void __thiscall std::_Container_base12::_Orphan_all(void)" (?_Orphan_all@_Container_base12@std@@QAEXXZ) already defined in ConvexDecomposition_debug.lib(vlookup.obj)
1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: struct std::_Iterator_base12 * * __thiscall std::_Container_base12::_Getpfirst(void)const " (?_Getpfirst@_Container_base12@std@@QBEPAPAU_Iterator_base12@2@XZ) already defined in ConvexDecomposition_debug.lib(vlookup.obj)
1> Creating library ..\..\..\Dynamics_Demos.lib and object ..\..\..\Dynamics_Demos.exp
1>LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>..\..\..\Dynamics_Demos.exe : fatal error LNK1169: one or more multiply defined symbols found
for the Debug configuration and
1>msvcprt.lib(MSVCP100.dll) : error LNK2005: "public: void __thiscall std::_Container_base0::_Orphan_all(void)" (?_Orphan_all@_Container_base0@std@@QAEXXZ) already defined in convexdecomposition.lib(vlookup.obj)
1> Creating library ..\..\..\Dynamics_Demos.lib and object ..\..\..\Dynamics_Demos.exp
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>..\..\..\Dynamics_Demos.exe : fatal error LNK1169: one or more multiply defined symbols found
for the Release configuration.
Again, I attempted to use Bullet v. 2.80 rev. 2531. On this machine, I have Ogre 1.7.4 SDK. Boost version is 1.43.
censor
09-04-2012 03:50:26
As another follow-up, I tried dermont's advice and switched code generation to /MTd in the Debug configuration and /MT in the Release configuration. Once I provided the corresponding Boost .lib files, synchronized the output directory, and removed the post-build step, the project compiled in both configurations. However, I have not managed to run either Dynamics_Demos.exe. At first, the Booststrap category with a path to OgreCore.zip was not found in resources.cfg. (For the Debug case, I also had to make a copy of resources_d.cfg and rename it resources.cfg in C:\OGRE\OgreSDK_vc10_v1-7-4\bin\debug, where I moved Dynamics_Demos.exe.) However, it looks like OgreCore.zip does not come with Ogre 1.7.4. The latest version of OgreCore.zip that I have managed to locate came with Ogre 1.7.1. I tried placing a couple of versions of OgreCore.zip to C:\OGRE\OgreSDK_vc10_v1-7-4\media\packs, and the effect was the same: Dynamics_Demos.exe started but did not open a window. The program did nothing noticeable. The Ogre log looks like this:
22:35:14: Creating resource group General
22:35:14: Creating resource group Internal
22:35:14: Creating resource group Autodetect
22:35:14: SceneManagerFactory for type 'DefaultSceneManager' registered.
22:35:14: Registering ResourceManager for type Material
22:35:14: Registering ResourceManager for type Mesh
22:35:14: Registering ResourceManager for type Skeleton
22:35:14: MovableObjectFactory for type 'ParticleSystem' registered.
22:35:14: OverlayElementFactory for type Panel registered.
22:35:14: OverlayElementFactory for type BorderPanel registered.
22:35:14: OverlayElementFactory for type TextArea registered.
22:35:14: Registering ResourceManager for type Font
22:35:14: ArchiveFactory for archive type FileSystem registered.
22:35:14: ArchiveFactory for archive type Zip registered.
22:35:14: DDS codec registering
22:35:14: FreeImage version: 3.15.1
22:35:14: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
22:35:14: Supported formats: 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,cine,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,sti
22:35:14: Registering ResourceManager for type HighLevelGpuProgram
22:35:14: Registering ResourceManager for type Compositor
22:35:14: MovableObjectFactory for type 'Entity' registered.
22:35:14: MovableObjectFactory for type 'Light' registered.
22:35:14: MovableObjectFactory for type 'BillboardSet' registered.
22:35:14: MovableObjectFactory for type 'ManualObject' registered.
22:35:14: MovableObjectFactory for type 'BillboardChain' registered.
22:35:14: MovableObjectFactory for type 'RibbonTrail' registered.
22:35:14: Loading library .\RenderSystem_Direct3D9_d
22:35:14: Installing plugin: D3D9 RenderSystem
22:35:14: D3D9 : Direct3D9 Rendering Subsystem created.
22:35:15: D3D9: Driver Detection Starts
22:35:15: D3D9: Driver Detection Ends
22:35:15: Plugin successfully installed
22:35:15: Loading library .\RenderSystem_GL_d
22:35:15: Installing plugin: GL RenderSystem
22:35:15: OpenGL Rendering Subsystem created.
22:35:15: Plugin successfully installed
22:35:15: Loading library .\Plugin_ParticleFX_d
22:35:15: Installing plugin: ParticleFX
22:35:15: Particle Emitter Type 'Point' registered
22:35:15: Particle Emitter Type 'Box' registered
22:35:15: Particle Emitter Type 'Ellipsoid' registered
22:35:15: Particle Emitter Type 'Cylinder' registered
22:35:15: Particle Emitter Type 'Ring' registered
22:35:15: Particle Emitter Type 'HollowEllipsoid' registered
22:35:15: Particle Affector Type 'LinearForce' registered
22:35:15: Particle Affector Type 'ColourFader' registered
22:35:15: Particle Affector Type 'ColourFader2' registered
22:35:15: Particle Affector Type 'ColourImage' registered
22:35:15: Particle Affector Type 'ColourInterpolator' registered
22:35:15: Particle Affector Type 'Scaler' registered
22:35:15: Particle Affector Type 'Rotator' registered
22:35:15: Particle Affector Type 'DirectionRandomiser' registered
22:35:15: Particle Affector Type 'DeflectorPlane' registered
22:35:15: Plugin successfully installed
22:35:15: Loading library .\Plugin_BSPSceneManager_d
22:35:15: Installing plugin: BSP Scene Manager
22:35:15: Plugin successfully installed
22:35:15: Loading library .\Plugin_CgProgramManager_d
22:35:15: Installing plugin: Cg Program Manager
22:35:15: Plugin successfully installed
22:35:15: Loading library .\Plugin_PCZSceneManager_d
22:35:15: Installing plugin: Portal Connected Zone Scene Manager
22:35:15: PCZone Factory Type 'ZoneType_Default' registered
22:35:15: Plugin successfully installed
22:35:15: Loading library .\Plugin_OctreeZone_d
22:35:15: Installing plugin: Octree Zone Factory
22:35:15: Plugin successfully installed
22:35:15: Loading library .\Plugin_OctreeSceneManager_d
22:35:15: Installing plugin: Octree & Terrain Scene Manager
22:35:15: Plugin successfully installed
22:35:15: *-*-* OGRE Initialising
22:35:15: *-*-* Version 1.7.4 (Cthugha)
22:35:15: Creating resource group Bootstrap
22:35:15: Added resource location '../../media/packs/OgreCore.zip' of type 'Zip' to resource group 'Bootstrap'
22:35:15: Creating resource group Essential
22:35:15: Added resource location '../../media/thumbnails' of type 'FileSystem' to resource group 'Essential'
22:35:15: Added resource location '../../media/packs/SdkTrays.zip' of type 'Zip' to resource group 'Essential'
22:35:15: Added resource location '../../media' of type 'FileSystem' to resource group 'General'
22:35:15: Creating resource group Popular
22:35:15: Added resource location '../../media/fonts' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/materials/programs' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/materials/scripts' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/materials/textures' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/materials/textures/nvidia' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/models' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/particle' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/DeferredShadingMedia' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/PCZAppMedia' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/RTShaderLib' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/RTShaderLib/materials' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/cubemap.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/cubemapsJS.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/dragon.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/fresneldemo.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/ogretestmap.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/ogredance.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/Sinbad.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/skybox.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Creating resource group OgreBullet
22:35:15: Added resource location '../../../ogrebullet/demos/Media' of type 'FileSystem' to resource group 'OgreBullet'
22:35:15: Added resource location '../../../ogrebullet/demos/Media/textures' of type 'FileSystem' to resource group 'OgreBullet'
22:35:15: Added resource location '../../../ogrebullet/demos/Media/overlays' of type 'FileSystem' to resource group 'OgreBullet'
22:35:15: Added resource location '../../../ogrebullet/demos/Media/materials' of type 'FileSystem' to resource group 'OgreBullet'
22:35:15: Added resource location '../../../ogrebullet/demos/Media/models' of type 'FileSystem' to resource group 'OgreBullet'
22:35:15: Added resource location '../../../ogrebullet/demos/Media/gui' of type 'FileSystem' to resource group 'OgreBullet'
Can OgreBullet work with Ogre 1.7 at all? Given that neither Ogre, nor Bullet are abandoned projects, is OgreBullet, nevertheless, abandoned and why? Is there a need for someone to pick it up and revive?
dermont
09-04-2012 04:26:53
As another follow-up, I tried dermont's advice and switched code generation to /MTd in the Debug configuration and /MT in the Release configuration. Once I provided the corresponding Boost .lib files, synchronized the output directory, and removed the post-build step, the project compiled in both configurations. However, I have not managed to run either Dynamics_Demos.exe. At first, the Booststrap category with a path to OgreCore.zip was not found in resources.cfg. (For the Debug case, I also had to make a copy of resources_d.cfg and rename it resources.cfg in C:\OGRE\OgreSDK_vc10_v1-7-4\bin\debug, where I moved Dynamics_Demos.exe.) However, it looks like OgreCore.zip does not come with Ogre 1.7.4. The latest version of OgreCore.zip that I have managed to locate came with Ogre 1.7.1. I tried placing a couple of versions of OgreCore.zip to C:\OGRE\OgreSDK_vc10_v1-7-4\media\packs, and the effect was the same: Dynamics_Demos.exe started but did not open a window. The program did nothing noticeable. The Ogre log looks like this:
22:35:14: Creating resource group General
22:35:14: Creating resource group Internal
22:35:14: Creating resource group Autodetect
22:35:14: SceneManagerFactory for type 'DefaultSceneManager' registered.
22:35:14: Registering ResourceManager for type Material
22:35:14: Registering ResourceManager for type Mesh
22:35:14: Registering ResourceManager for type Skeleton
22:35:14: MovableObjectFactory for type 'ParticleSystem' registered.
22:35:14: OverlayElementFactory for type Panel registered.
22:35:14: OverlayElementFactory for type BorderPanel registered.
22:35:14: OverlayElementFactory for type TextArea registered.
22:35:14: Registering ResourceManager for type Font
22:35:14: ArchiveFactory for archive type FileSystem registered.
22:35:14: ArchiveFactory for archive type Zip registered.
22:35:14: DDS codec registering
22:35:14: FreeImage version: 3.15.1
22:35:14: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
22:35:14: Supported formats: 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,cine,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,sti
22:35:14: Registering ResourceManager for type HighLevelGpuProgram
22:35:14: Registering ResourceManager for type Compositor
22:35:14: MovableObjectFactory for type 'Entity' registered.
22:35:14: MovableObjectFactory for type 'Light' registered.
22:35:14: MovableObjectFactory for type 'BillboardSet' registered.
22:35:14: MovableObjectFactory for type 'ManualObject' registered.
22:35:14: MovableObjectFactory for type 'BillboardChain' registered.
22:35:14: MovableObjectFactory for type 'RibbonTrail' registered.
22:35:14: Loading library .\RenderSystem_Direct3D9_d
22:35:14: Installing plugin: D3D9 RenderSystem
22:35:14: D3D9 : Direct3D9 Rendering Subsystem created.
22:35:15: D3D9: Driver Detection Starts
22:35:15: D3D9: Driver Detection Ends
22:35:15: Plugin successfully installed
22:35:15: Loading library .\RenderSystem_GL_d
22:35:15: Installing plugin: GL RenderSystem
22:35:15: OpenGL Rendering Subsystem created.
22:35:15: Plugin successfully installed
22:35:15: Loading library .\Plugin_ParticleFX_d
22:35:15: Installing plugin: ParticleFX
22:35:15: Particle Emitter Type 'Point' registered
22:35:15: Particle Emitter Type 'Box' registered
22:35:15: Particle Emitter Type 'Ellipsoid' registered
22:35:15: Particle Emitter Type 'Cylinder' registered
22:35:15: Particle Emitter Type 'Ring' registered
22:35:15: Particle Emitter Type 'HollowEllipsoid' registered
22:35:15: Particle Affector Type 'LinearForce' registered
22:35:15: Particle Affector Type 'ColourFader' registered
22:35:15: Particle Affector Type 'ColourFader2' registered
22:35:15: Particle Affector Type 'ColourImage' registered
22:35:15: Particle Affector Type 'ColourInterpolator' registered
22:35:15: Particle Affector Type 'Scaler' registered
22:35:15: Particle Affector Type 'Rotator' registered
22:35:15: Particle Affector Type 'DirectionRandomiser' registered
22:35:15: Particle Affector Type 'DeflectorPlane' registered
22:35:15: Plugin successfully installed
22:35:15: Loading library .\Plugin_BSPSceneManager_d
22:35:15: Installing plugin: BSP Scene Manager
22:35:15: Plugin successfully installed
22:35:15: Loading library .\Plugin_CgProgramManager_d
22:35:15: Installing plugin: Cg Program Manager
22:35:15: Plugin successfully installed
22:35:15: Loading library .\Plugin_PCZSceneManager_d
22:35:15: Installing plugin: Portal Connected Zone Scene Manager
22:35:15: PCZone Factory Type 'ZoneType_Default' registered
22:35:15: Plugin successfully installed
22:35:15: Loading library .\Plugin_OctreeZone_d
22:35:15: Installing plugin: Octree Zone Factory
22:35:15: Plugin successfully installed
22:35:15: Loading library .\Plugin_OctreeSceneManager_d
22:35:15: Installing plugin: Octree & Terrain Scene Manager
22:35:15: Plugin successfully installed
22:35:15: *-*-* OGRE Initialising
22:35:15: *-*-* Version 1.7.4 (Cthugha)
22:35:15: Creating resource group Bootstrap
22:35:15: Added resource location '../../media/packs/OgreCore.zip' of type 'Zip' to resource group 'Bootstrap'
22:35:15: Creating resource group Essential
22:35:15: Added resource location '../../media/thumbnails' of type 'FileSystem' to resource group 'Essential'
22:35:15: Added resource location '../../media/packs/SdkTrays.zip' of type 'Zip' to resource group 'Essential'
22:35:15: Added resource location '../../media' of type 'FileSystem' to resource group 'General'
22:35:15: Creating resource group Popular
22:35:15: Added resource location '../../media/fonts' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/materials/programs' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/materials/scripts' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/materials/textures' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/materials/textures/nvidia' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/models' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/particle' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/DeferredShadingMedia' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/PCZAppMedia' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/RTShaderLib' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/RTShaderLib/materials' of type 'FileSystem' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/cubemap.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/cubemapsJS.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/dragon.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/fresneldemo.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/ogretestmap.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/ogredance.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/Sinbad.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Added resource location '../../media/packs/skybox.zip' of type 'Zip' to resource group 'Popular'
22:35:15: Creating resource group OgreBullet
22:35:15: Added resource location '../../../ogrebullet/demos/Media' of type 'FileSystem' to resource group 'OgreBullet'
22:35:15: Added resource location '../../../ogrebullet/demos/Media/textures' of type 'FileSystem' to resource group 'OgreBullet'
22:35:15: Added resource location '../../../ogrebullet/demos/Media/overlays' of type 'FileSystem' to resource group 'OgreBullet'
22:35:15: Added resource location '../../../ogrebullet/demos/Media/materials' of type 'FileSystem' to resource group 'OgreBullet'
22:35:15: Added resource location '../../../ogrebullet/demos/Media/models' of type 'FileSystem' to resource group 'OgreBullet'
22:35:15: Added resource location '../../../ogrebullet/demos/Media/gui' of type 'FileSystem' to resource group 'OgreBullet'
Can OgreBullet work with Ogre 1.7 at all? Given that neither Ogre, nor Bullet are abandoned projects, is OgreBullet, nevertheless, abandoned and why? Is there a need for someone to pick it up and revive?
From your log file it doesn't look like your resources.cfg file is setup properly, OgreCore.zip is supplied with the ogrebullet media files in Media\packs.
http://ogreaddons.svn.sourceforge.net/v ... iew=markup
censor
09-04-2012 05:21:49
I tried another suggestion by dermont and rebuilt Bullet having checked USE_MSVC_RUNTIME_LIBRARY_DLL in CMake. I switched OgreBullet configurations back to /MDd and /MD for Debug and Release. Everything compiled and linked. The OgreBullet demos worked once I set resources.cfg to
[Bootstrap]
Zip=C:/OgreBullet/Demos/Media/packs/OgreCore.zip
# Resource locations to be added to the default path
[General]
FileSystem=C:/OgreBullet/Demos/Media/
FileSystem=C:/OgreBullet/Demos/Media/fonts
FileSystem=C:/OgreBullet/Demos/Media/materials/programs
FileSystem=C:/OgreBullet/Demos/Media/materials/scripts
FileSystem=C:/OgreBullet/Demos/Media/materials/textures
FileSystem=C:/OgreBullet/Demos/Media/models
FileSystem=C:/OgreBullet/Demos/Media/overlays
FileSystem=C:/OgreBullet/Demos/Media/particle
FileSystem=C:/OgreBullet/Demos/Media/gui
[Bullet]
FileSystem=C:/OgreBullet/Demos/Media/OgreBullet
FileSystem=C:/OgreBullet/Demos/Media/materials
FileSystem=C:/OgreBullet/Demos/Media/textures
I launched Dynamics_Demos.exe from C:\OGRE\OgreSDK_vc10_v1-7-4\bin\debug and C:\OGRE\OgreSDK_vc10_v1-7-4\bin\release. In the former case, I made sure that the .pdb file was renamed to Dynamics_Demos.pdb from what it was (OgreBulletDynamicsDemo.pdb). Earlier, I had to change Properties->Common Properties->Linker->General->Output File to $(OutDir)Dynamics_Demos.exe. Now OgreBullet demos work on my 32-bit machine with Ogre 1.7.4 SDK. Even though the SDK comes with Boost 1_47_0, OgreBullet was compiled with Boost 1_43_0. This machine runs Windows 7 Ultimate. My next step is to try to get OgreBullet demos to work on my 64-bit machine where I have a custom-built Ogre 1.7.3.
censor
09-04-2012 15:00:14
Same approach as above also works on my 64-bit machine running a built-from-source 64-bit Ogre 1.7.3 under the auspices of Windows 7 Home Edition. On this computer, Boost 1.48 was used consistently throughout. Rebuild Bullet (v. 2.80 in my case), having set USE_MSVC_RUNTIME_LIBRARY_DLL as dermont recommended, delete the post-build step from OgreBullet configurations, set resources.cfg consistently as described above, copy Dynamics_Demos.exe (and Dynamics_Demos.pdb, renamed as needed) to C:\OGRE\ogre_src_v1-7-3\bin\sdk\bin\debug and C:\OGRE\ogre_src_v1-7-3\bin\sdk\bin\release (in my case of the built-from-source Ogre), and voila!