Проблема сборки при использовании с android ndk

У меня есть простой файл stlTest2.cpp вроде этого:

#include <jni.h>

#include <cmath>


bool isnan (void);

В некотором коде, который я портирую, есть что-то более сложное. У меня такой вопрос. Почему это должно работать при сборке с использованием GCC вне NDK, но не с использованием NDK? Ошибка заключается в следующем:

jni/stlTest2.cpp:6: error: expected unqualified-id before 'sizeof'
jni/stlTest2.cpp:6: error: expected ')' before 'sizeof'

Непосредственной причиной этого является то, что math.h (включенный через ) определяет isnan как макрос . Почему сборка вне ndk не включает #define из math.h , но это есть? Если я закомментирую включения в код, все в порядке, но это неприемлемо, поскольку эта проблема повторяется .... много раз.

8
задан ruakh 7 January 2012 в 01:29
поделиться