On Microsoft Windows, Open Inventor uses the native Win32 thread and thread control functions. Windows itself is multithreaded and uses these functions, so no additional libraries need to be linked. Open Inventor applications should already be using the “ MultiThreaded DLL (Debug)” version of the C/C++ runtime library (msvcrt and msvcrtd in Visual C++ 6)
On Unix and Linux systems Open Inventor uses the standard pthreads library to create threads and synchronization objects (mutexes, etc.).
There are several coding issues, including:
On most systems:
You must call XThreadInit()before making any other X Windows calls (including Xt, Motif, GLX, etc). SoXt::Init()will make this call automatically, but if you don’t use SoXt( C++ ), you must call it yourself.
There are some compilation and linking issues, including:
Please see the CMakefiles provided with the Open Inventor multithread examples. These Makefiles contain the correct compile and link options for each platform.