Thank you Enn0x (Vielen Danke)
Based on your recommendation, I rebuilt the dll.
For those that could be interested in doing so here is the detailed process.
Ok, as discusssed, I regenerated libpandabullet.dll from scratch
(1) I downloaded bullet code from svn and compiled bullet
(2) Using your code, I modified wscript in order to refer to correct directories
BTW. I changed some performance flags for speed and use of SSE
ctx.env.append_unique('CXXFLAGS',
['/TP', '/MD', '/Zi', '/EHa', '/Zm300', '/O2', '/Oi', '/Ot', '/arch:SSE2', '/Ob2', '/W3',
'/wd4005', '/wd4275', '/wd4996'])
(3) Then ran python waf configure
C:\Users\jc\Desktop\LIB_BUILDER\libpandabullet-r15>python waf configure
Setting top to : C:\Users\jc\Desktop\LIB_BUILDER\libpandabullet-r15
Setting out to : C:\Users\jc\Desktop\LIB_BUILDER\libpandabullet-r15\built
Checking for program python : C:\Panda3D-1.7.1\python\python.exe
Checking for python version : (2, 6, 4, 'final', 0)
Checking for waf version in 1.6.1-1.7.0 : ok
Checking for 'msvc' (c++ compiler) : ok
('32bit', 'WindowsPE')
Checking for library libpanda : yes
Checking for library libpandaegg : yes
Checking for library libpandaexpress : yes
Checking for library libp3dtool : yes
Checking for library libp3dtoolconfig : yes
Checking for library LinearMath : yes
Checking for library BulletCollision : yes
Checking for library BulletDynamics : yes
Checking for library BulletSoftBody : yes
Checking for library BulletMultiThreaded : yes
Checking for program interrogate : C:\Panda3D-1.7.1\bin\interrogate.exe
Checking for program interrogate_module : C:\Panda3D-1.7.1\bin\interrogate_module.exe
'configure' finished successfully (8.798s)
(4) so far, so good. So launched : python waf build install clean
At this point the linker screamed about trying to link x64
…
[6/6] cxxshlib: built\src\bullet_composite.cxx.2.o built\libpandabullet.lib
libpanda.lib(libpanda.dll) : fatal error LNK1112: module machine type ‘X86’ conflicts with target machine type ‘x64’
(5) Digging into the problem, it happened that if you’re under Windows 7/x64, and use Visual Studio
Waf is per default trying compile and link x64 … And this is not what was expected…
So the turn around I found is :
loaded waf_1.6.3 version ( code.google.com/p/waf/downloads/ … 3&can=2&q= )
modify again the wscript
#ctx.check_tool('compiler_cxx')
ctx.env['MSVC_VERSIONS'] = ['msvc 9.0'] # , 'intel 11']
ctx.env['MSVC_TARGETS'] = ['x86']
ctx.load('msvc')
and commented out :
# if platform.architecture()[0] == '64bit':
# ctx.env.append_unique('CXXFLAGS', ['/favor:blend'])
# ctx.env.append_unique('LINKFLAGS', ['/MACHINE:X64'])
(6) rerun: python waf build install clean
[i]Waf: Leaving directory C:\Users\jc\Desktop\LIB_BUILDER\libpandabullet-r15\built' 'build' finished successfully (30.340s) Waf: Entering directory
C:\Users\jc\Desktop\LIB_BUILDER\libpandabullet-r15\built’
- install test/libpandabullet.pyd (from built\libpandabullet.dll)
- install test/libpandabullet.pyd.manifest (from built\libpandabullet.dll.manifest)
Waf: Leaving directory `C:\Users\jc\Desktop\LIB_BUILDER\libpandabullet-r15\built’
‘install’ finished successfully (0.370s)
‘clean’ finished successfully (0.120s)[/i]
C:\Users\jc\Desktop\LIB_BUILDER\libpandabullet-r15>
so at this point libpandabullet.pyd has been generated
the test programs run ok!
and I rename libpandabullet.pyd into libpandabullet.dll for c++ direct use
et voila!
Thanks again Enn0x for your superb job in integrating Bullet into Panda3D!