Hi all,
I made a thirdparty package for ODE and tried to compile Panda3D with ODE support, but I ran across four issues:
*1): I got this error from interrogate:
*** Error in thirdparty/ode/include/common.h near line 331, column 31:
syntax error, unexpected INTEGER, expecting '}'
Error parsing file: 'odeAMotorJoint.h'
This is the piece of code, the corresponding line bold:
D_ALL_PARAM_NAMES_X seems to be a #define:
#define D_ALL_PARAM_NAMES_X(start,x) \
dParamLoStop ## x = start, \
..etc..
That’s where the error seems to be. I think interrogate just can’t chew the ##.
I worked around it by manually appending the 2 and 3 to dParamLoStop, like dParamLoStop2, but it would be kewl if interrogate would support ## concatenation.
*2) Now I worked around the first error, I bumped into this error:
In file included from built/tmp/libpode_igate.cxx:38:
panda/src/ode/odeHeightFieldGeom.h:123:32: error: odeHeightfieldGeom.I: No such file or directory
panda3d.cvs.sourceforge.net/pand … a/src/ode/
The file does indeed not exist. Could this be fixed? Does it indeed not exist and the include line needs removed, or is a file missing at CVS?
I’ve just commented out the include line for now.
*3) There were some other errors, but they all seemed to be caused by one file. Looking at odeConvexGeom.I, its creator seemed to be a bit low of coffee when creating it. Here’s the corrected version, that actually does compile:
dpaste.com/45206/plain/
*4) Everything compiles fine… but when linking to libpanda.so, I get tons of ‘multiple definitions’-errors. It appears to be only for the classes that contain the word “Joint”.
Click here for the build log.
–pro-rsoft