Android Build Error.

Post Reply
ezraanderson
Posts: 4
Joined: Fri Feb 13, 2015 8:15 am

Android Build Error.

Post by ezraanderson »

~
I have been trying to get Bullet 2.82 to build for android, but keep getting these errors, any suggestion would help.

Building on Ubuntu 12.04, NDK 10r.

Code: Select all

In file included from /media/windows/src/zl-common/zl_platform.h:112:0,
                 from /media/windows/src/zl-vfs/pch.h:4,
                 from /media/windows/src/zl-vfs/headers.h:7,
                 from /media/windows/src/zl-vfs/zl_replace_stdio.h:7,
                 from /media/windows/src/zl-vfs/zl_replace.h:7,
                 from <command-line>:0:
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h: In function 'void SEGMENT_COLLISION(const CLASS_POINT&, const CLASS_POINT&, const CLASS_POINT&, const CLASS_POINT&, CLASS_POINT&, CLASS_POINT&)':
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:410:21: error: expected unqualified-id before numeric constant
 CLASS_POINT _AD,_BD,_N;
                     ^
In file included from /media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:39:0,
                 from /media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_box_collision.h:35,
                 from /media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_box_set.h:39,
                 from /media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_box_set.cpp:32:
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:323:7: error: invalid types 'int[int]' for array subscript
    c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \
       ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:414:5: note: in expansion of macro 'VEC_CROSS'
     VEC_CROSS(_N,_AD,_BD);
     ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:324:7: error: invalid types 'int[int]' for array subscript
    c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \
       ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:414:5: note: in expansion of macro 'VEC_CROSS'
     VEC_CROSS(_N,_AD,_BD);
     ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:325:7: error: invalid types 'int[int]' for array subscript
    c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \
       ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:414:5: note: in expansion of macro 'VEC_CROSS'
     VEC_CROSS(_N,_AD,_BD);
     ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:213:28: error: invalid types 'int[int]' for array subscript
 #define VEC_DOT(a,b) ((a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2])\
                            ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:415:17: note: in expansion of macro 'VEC_DOT'
     GREAL _tp = VEC_DOT(_N,_N);
                 ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:213:35: error: invalid types 'int[int]' for array subscript
 #define VEC_DOT(a,b) ((a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2])\
                                   ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:415:17: note: in expansion of macro 'VEC_DOT'
     GREAL _tp = VEC_DOT(_N,_N);
                 ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:213:44: error: invalid types 'int[int]' for array subscript
 #define VEC_DOT(a,b) ((a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2])\
                                            ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:415:17: note: in expansion of macro 'VEC_DOT'
     GREAL _tp = VEC_DOT(_N,_N);
                 ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:213:51: error: invalid types 'int[int]' for array subscript
 #define VEC_DOT(a,b) ((a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2])\
                                                   ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:415:17: note: in expansion of macro 'VEC_DOT'
     GREAL _tp = VEC_DOT(_N,_N);
                 ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:213:60: error: invalid types 'int[int]' for array subscript
 #define VEC_DOT(a,b) ((a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2])\
                                                            ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:415:17: note: in expansion of macro 'VEC_DOT'
     GREAL _tp = VEC_DOT(_N,_N);
                 ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:213:67: error: invalid types 'int[int]' for array subscript
 #define VEC_DOT(a,b) ((a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2])\
                                                                   ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:415:17: note: in expansion of macro 'VEC_DOT'
     GREAL _tp = VEC_DOT(_N,_N);
                 ^
In file included from /media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_box_collision.h:35:0,
                 from /media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_box_set.h:39,
                 from /media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_box_set.cpp:32:
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:430:10: error: invalid types 'int[int]' for array subscript
      _N[0] = (_M[0]+_M[1])*0.5f;
          ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:431:10: error: invalid types 'int[int]' for array subscript
      _N[1] = (_M[2]+_M[3])*0.5f;
          ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:433:13: error: invalid types 'int[int]' for array subscript
      if(_N[0]<_N[1])
             ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:433:19: error: invalid types 'int[int]' for array subscript
      if(_N[0]<_N[1])
                   ^
In file included from /media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:39:0,
                 from /media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_box_collision.h:35,
                 from /media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_box_set.h:39,
                 from /media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_box_set.cpp:32:
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:323:16: error: invalid types 'int[int]' for array subscript
    c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \
                ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:473:5: note: in expansion of macro 'VEC_CROSS'
     VEC_CROSS(_M,_N,_BD);
     ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:323:34: error: invalid types 'int[int]' for array subscript
    c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \
                                  ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:473:5: note: in expansion of macro 'VEC_CROSS'
     VEC_CROSS(_M,_N,_BD);
     ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:324:16: error: invalid types 'int[int]' for array subscript
    c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \
                ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:473:5: note: in expansion of macro 'VEC_CROSS'
     VEC_CROSS(_M,_N,_BD);
     ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:324:34: error: invalid types 'int[int]' for array subscript
    c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \
                                  ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:473:5: note: in expansion of macro 'VEC_CROSS'
     VEC_CROSS(_M,_N,_BD);
     ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:325:16: error: invalid types 'int[int]' for array subscript
    c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \
                ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:473:5: note: in expansion of macro 'VEC_CROSS'
     VEC_CROSS(_M,_N,_BD);
     ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_linear_math.h:325:34: error: invalid types 'int[int]' for array subscript
    c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \
                                  ^
/media/windows/3rdparty/bullet/src/BulletCollision/Gimpact/gim_basic_geometry_operations.h:473:5: note: in expansion of macro 'VEC_CROSS'
     VEC_CROSS(_M,_N,_BD);
     ^

ezraanderson
Posts: 4
Joined: Fri Feb 13, 2015 8:15 am

Re: Android Build Error.

Post by ezraanderson »

~
I had to get a friend to fix this for me.
breaking the C++ spec, by using _N and _C as variables (which are reserved by ISO.IEC 14882 Section 18.4.3.1.2 )
Post Reply