I have tried to build Bullet using MSVC. The main bullet lib has been a piece of cake. then I had some troubles building BulletMultiThread :
Code: Select all
1>SpuRaycastTask.cpp
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(407) : error C2057: expected constant expression
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(407) : error C2466: cannot allocate an array of constant size 0
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(407) : error C2133: 'sign' : unknown size
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(408) : error C2057: expected constant expression
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(408) : error C2466: cannot allocate an array of constant size 0
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(408) : error C2133: 'rayInvDirection' : unknown size
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(409) : error C2057: expected constant expression
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(409) : error C2466: cannot allocate an array of constant size 0
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(409) : error C2133: 'lambda_max' : unknown size
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(514) : error C2057: expected constant expression
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(514) : error C2466: cannot allocate an array of constant size 0
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(514) : error C2133: 'quantizedQueryAabbMin' : unknown size
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(515) : error C2057: expected constant expression
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(515) : error C2466: cannot allocate an array of constant size 0
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(515) : error C2133: 'quantizedQueryAabbMax' : unknown size
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(516) : error C2057: expected constant expression
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(516) : error C2466: cannot allocate an array of constant size 0
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(516) : error C2133: 'rayFromInTriangleSpace' : unknown size
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(517) : error C2057: expected constant expression
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(517) : error C2466: cannot allocate an array of constant size 0
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(517) : error C2133: 'rayToInTriangleSpace' : unknown size
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(681) : warning C4018: '<' : signed/unsigned mismatch
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(689) : error C2057: expected constant expression
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(689) : error C2466: cannot allocate an array of constant size 0
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(689) : error C2133: 'tWorkUnitsOut' : unknown size
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(690) : warning C4018: '<' : signed/unsigned mismatch
1>..\..\src\3rdparty\bullet\src\BulletMultiThreaded\SpuRaycastTask\SpuRaycastTask.cpp(697) : warning C4018: '<' : signed/unsigned mismatch
The problem is that
Code: Select all
unsigned int sign[numWorkUnits][3];
I wasn't sure I had to build this file anyway on MSVC, but I saw a #ifdef WIN32 in this file which seems to indicate that this file is required.