mccdo/osgbullet

Link errors in VS2010 in debugmode

Closed this issue · 5 comments

CmakeLists add release versions of bullet .lib's to the linker's additional 
dependencies for each project.

The debug .libs supplied through CMake are not used.

While this compiles for VS 2008, it won't for VS 2010 due to the release/debug 
mismatch.

Original issue reported on code.google.com by dennis.c...@gmail.com on 13 Sep 2011 at 5:38

Lovely. Yeah, I was aware that I was sort of taking shortcuts with CMake in 
this area. I'll look into it. Thanks for catching this.

Original comment by SkewMat...@gmail.com on 13 Sep 2011 at 6:44

  • Changed state: Accepted
Fixed in r204. The collision-only stuff hard-coded linking with release libs. 
Modified CMake to use optimized/debug as appropriate.

There's also a CMake issue here: the CMake 2.8.5 FindBullet.cmake script 
expects Bullet debug libraries to have a "_d" suffix, but Bullet's CMake 
doesn't build them that way on Windows at least, so we must manually enter the 
_DEBUG libraries. Kind of a pain in the butt, but not much we can do about it 
unless we want to submit some kind of fix, either to Bullet or to CMake.

Original comment by SkewMat...@gmail.com on 13 Sep 2011 at 8:00

  • Changed state: Fixed
I added it as an issue @ the bullet googlecode project.
http://code.google.com/p/bullet/issues/detail?id=542

Original comment by dennis.c...@gmail.com on 14 Sep 2011 at 9:10

Erwin added the postfixes to bullet as _Debug etc postfix, see 
http://code.google.com/p/bullet/issues/detail?id=542#c2

I'll ask him to consider the _d postfix from the bullet find module of cmake.

Original comment by dennis.c...@gmail.com on 16 Sep 2011 at 8:20

Ideally, Bullet's CMake system default behavior should be to append the same 
debug postfix that the CMake 2.8.5 FindBullet.cmake script is expecting.

I'll update to Bullet trunk so I can try out any changes Erwin makes.

Original comment by SkewMat...@gmail.com on 16 Sep 2011 at 1:40