Menu

Coin3D_Win_Help

Nikolaus Vahrenkamp
Attachments
Coin-3.1.3.zip (9192270 bytes)
SoQt-1.5.0.zip (2230453 bytes)

Modified solution files (zip)

For VS10+ you may need to modify the solution files of Coin3D and SoQt. The changes below are part of the two zip files (see attachments of this page) containing the Coin3d and SoQt sources. You should be able to use the build/msvc9 sln files for compiling Coin3D with VS10 and above.

The following changes were made:

If you have issues that some moc_.icc files are missing, you have to enable the according .h files in the VS-solution menue.
For some reasons building seems to be disabled for some headers, which is needed for moc'ing:
Right click on the disabled header in the solution menue and select Properties. Then be sure the entry 'Excluded Form build' is set to 'no'.

If you get an error related to the ScXMLStateMachine class this may help:

Change file Coin-3.1.3\src\scxml\ScXMLStateMachine.cpp line 334
from:
    transitions.push_back(PImpl::StateTransition(NULL, PRIVATE(this)->initializer.get()));
to:
    transitions.push_back(PImpl::StateTransition((ScXMLObject*)NULL, PRIVATE(this)->initializer.get()));

If you run into errors related to HAVE_STDDEF_H or HAVE_INT8_T you need to adjust three files:

Change file build/msvc9/include/Inventor/system/inttypes.h:

/* The <inttypes.h> header file. *
//#define HAVE_INTTYPES_H
/* The <stdint.h> header file. */
//////////////////////// CHANGED /////////////////////////////////////////
#define HAVE_STDINT_H 1
//////////////////////// CHANGED /////////////////////////////////////////

...

/* If the system defines any of the types "on it's own", the
   respective #define will be set below. */
/* #undef HAVE_INT8_T */
/* #undef HAVE_UINT8_T */
/* #undef HAVE_INT16_T */
/* #undef HAVE_UINT16_T */
/* #undef HAVE_INT32_T */
/* #undef HAVE_UINT32_T */
/* #undef HAVE_INT64_T */
/* #undef HAVE_UINT64_T */
//////////////////////////// ADDED /////////////////////////////////////
#define HAVE_INT8_T 1
#define HAVE_UINT8_T 1
#define HAVE_INT16_T 1
#define HAVE_UINT16_T 1
#define HAVE_INT32_T 1
#define HAVE_UINT32_T 1
#define HAVE_INT64_T 1
#define HAVE_UINT64_T 1
#define HAVE_INTPTR_T 1
#define HAVE_UINTPTR_T 1
//////////////////////////// ADDED /////////////////////////////////////

In addition you need to change the files build/msvc9/src/config-debug.h and build/msvc9/src/config-release.h:

/* define this if the type is available on the system */
/* #undef HAVE_INT16_T */

/* define this if the type is available on the system */
/* #undef HAVE_INT32_T */

/* define this if the type is available on the system */
/* #undef HAVE_INT64_T */

/* define this if the type is available on the system */
/* #undef HAVE_INT8_T */

//////////////////////////// ADDED /////////////////////////////////////
#define HAVE_INT8_T 
#define HAVE_UINT8_T 
#define HAVE_INT16_T 
#define HAVE_UINT16_T 
#define HAVE_INT32_T 
#define HAVE_UINT32_T 
#define HAVE_INT64_T 
#define HAVE_UINT64_T 
//////////////////////////// ADDED /////////////////////////////////////

...

/* Define to 1 if you have the <stdint.h> header file. */
/* #undef HAVE_STDINT_H */
//////////////////////////// ADDED /////////////////////////////////////
#define HAVE_STDINT_H 1
//////////////////////////// ADDED /////////////////////////////////////