Hi Roger,
On Sat, Apr 19, 2008 at 1:54 PM, Roger James
<[EMAIL PROTECTED]> wrote:
> Trying to do a Clean all targets in the OpenSceneGraph Xcode project results
> in some undefined build variable errors on the target SDLdependentStuff.
> Using Get Info to examine SDLdependentStuff causes Xcode to crash. I first
> found this on 2.3.8 and have just checked a clean copy of 2.3.9 and it is
> still there.
I'll have to defer to Stephan Huber and Eric Wing on getting XCode
projects working for 2.4, hopefully they can get fixes checked in time
for 2.3.10.
There is always the CMake build which you could fallback on too.
> I need to do a full clean to track down some problems I have been having
> with a build with OSG_USE_FLOAT_MATRIX set. It appears that the code
> generated for functions with bodies in the headers is using different
> class/structure offsets than those with bodies in c++ files. But that is a
> whole new problem and I am a newcomer to building on OSX.
You'll need to add the above define into the build to select the right
header types to match the libs you've built.
With a CMake build it's possible to add this in, I recently added the
below script section to VirtualPlanetBuilder/CMakeLists.txt which uses
osgversion to find out details on the types built into the osg library
itself. This script addition automatically selects the right types
for the osg lib being linked against.
This is really yet another reason for using CMake over XCode, as
Stephan says, it really is time we moved entirely across to using
CMake on all platforms. OSG-2.4 will be the last release with
separate XCode projects as part of the core distribution.
Robert.
-- Addition to VirtualPlanetBuilder/CMakeLists.txt to handle automatic
type detection
# Automatically detected build options
EXEC_PROGRAM(osgversion ARGS Matrix::value_type OUTPUT_VARIABLE
OSG_USE_FLOAT_MATRIX)
IF(OSG_USE_FLOAT_MATRIX MATCHES "float")
ADD_DEFINITIONS(-DOSG_USE_FLOAT_MATRIX)
ENDIF(OSG_USE_FLOAT_MATRIX MATCHES "float")
EXEC_PROGRAM(osgversion ARGS Plane::value_type OUTPUT_VARIABLE
OSG_USE_FLOAT_PLANE)
IF(OSG_USE_FLOAT_PLANE MATCHES "float")
ADD_DEFINITIONS(-DOSG_USE_FLOAT_PLANE)
ENDIF(OSG_USE_FLOAT_PLANE MATCHES "float")
EXEC_PROGRAM(osgversion ARGS BoundingSphere::value_type
OUTPUT_VARIABLE OSG_USE_FLOAT_BOUNDINGSPHERE)
IF(OSG_USE_FLOAT_BOUNDINGSPHERE MATCHES "double")
ADD_DEFINITIONS(-DOSG_USE_DOUBLE_BOUNDINGSPHERE)
ENDIF(OSG_USE_FLOAT_BOUNDINGSPHERE MATCHES "double")
EXEC_PROGRAM(osgversion ARGS BoundingBox::value_type OUTPUT_VARIABLE
OSG_USE_FLOAT_BOUNDINGBOX)
IF(OSG_USE_FLOAT_BOUNDINGBOX MATCHES "double")
ADD_DEFINITIONS(-DOSG_USE_DOUBLE_BOUNDINGBOX)
ENDIF(OSG_USE_FLOAT_BOUNDINGBOX MATCHES "double")
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org