Я редко спрашиваю об ошибке компиляции, но следующая ошибка меня озадачила.
Я успешно скомпилировал библиотеки boost для Android и пытаюсь использовать его библиотеку Spirit для создания парсера. Но когда я попытался скомпилировать. Я получаю следующие ошибки.
Что касается первой ошибки в endian.hpp, я предполагаю, что мне нужно включить в файл тип процессора (Android). Но я понятия не имею, почему я получаю другие ошибки. Любая подсказка или намек будут оценены по достоинству.
> In file included from > C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/support/detail/integer/endian.hpp:37, > from C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/support/detail/endian.hpp:24, > from C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/qi/binary/binary.hpp:16, > from C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/qi/binary.hpp:14, > from C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/qi.hpp:18, > from C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/include/qi.hpp:16, > from D:/mywork/dev/eclWork/BoostTest/jni/ndkfoo.cpp:24: > C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/detail/endian.hpp:74:3: > error: #error The file boost/detail/endian.hpp needs to be set up for > your CPU type. In file included from > C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/qi/directive.hpp:14, > from C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/qi.hpp:19, > from C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/include/qi.hpp:16, > from D:/mywork/dev/eclWork/BoostTest/jni/ndkfoo.cpp:24: > C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/qi/directive/as.hpp:128: > error: 'wstring' is not a member of 'std' > C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/qi/directive/as.hpp:128: > error: 'wstring' is not a member of 'std' > C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/qi/directive/as.hpp:128: > error: template argument 2 is invalid In file included from > C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/math/special_functions/fpclassify.hpp:20, > from C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/support/detail/sign.hpp:22, > from C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/qi/numeric/detail/real_impl.hpp:22, > from C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/qi/numeric/real.hpp:21, > from C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/qi/numeric.hpp:17, > from C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/home/qi.hpp:21, > from C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/spirit/include/qi.hpp:16, > from D:/mywork/dev/eclWork/BoostTest/jni/ndkfoo.cpp:24: > C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/math/special_functions/detail/fp_traits.hpp:472: > error: invalid application of 'sizeof' to incomplete type > 'boost::STATIC_ASSERTION_FAILURE' > C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/math/special_functions/detail/fp_traits.hpp: > In static member function 'static void > boost::math::detail::fp_traits_non_native boost::math::detail::extended_double_precision>::get_bits(long double, > uint32_t&)': > C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/math/special_functions/detail/fp_traits.hpp:457: > error: 'offset_' was not declared in this scope > C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/math/special_functions/detail/fp_traits.hpp: > In static member function 'static void > boost::math::detail::fp_traits_non_native boost::math::detail::extended_double_precision>::set_bits(long > double&, uint32_t)': > C:/Progra~1/Android/android-ndk-r6b/sources/boost/boost/math/special_functions/detail/fp_traits.hpp:462: > error: 'offset_' was not declared in this scope make: *** > [/cygdrive/d/mywork/dev/eclWork/BoostTest/obj/local/armeabi/objs/ndkfoo/ndkfoo.o] > Error 1