Ошибка при создании надстройки для архитектур рук Android
Почему я получаю эти ошибки только при создании некоторых специальных библиотек наддува, таких как файловая система для arm?
error: no member named 'fgetpos' in the global namespace
error: no member named 'fsetpos' in the global namespace
error: no member named 'truncate' in the global namespace
Использование автономного набора инструментов от Android ndk.
версия gcc: gcc (Ubuntu 6.0.1-0ubuntu1) 6.0.0 20160414 (экспериментальная)
Используя boost boost_1_66_0 также пробовал boost_1_64_0
sudo ./bootstrap.sh --with-libraries=filesystem cxxflags=-std=c++14
Boost.Build движок с набором инструментов gcc...
также попытался с -std = C++11 & используя набор инструментов clang..
файл user-config.jam:
standaloneToolchains = /home/rahul/Android/Sdk/standalone_toolchains ;
using clang : arm : $(standaloneToolchains)/arm/bin/clang++ ;
Команда для построения файловой системы библиотеки:
./b2 -d + 2 -j 2 - перенастроить cxxflags=-std= C++14 target-os= набор инструментов android =clang-arm include=/home/rahul/Android/Sdk/standalone_toolchains/include/ C++/4.9.x link= статический, общий вариант = выпуск ветки = multi --prefix = / home / rahul / Android / Sdk / boost / arm install
./b2 -d+2 -j 2 --reconfigure cxxflags=-std=c++14 target-os=android toolset=clang-arm include=/home/rahul/Android/Sdk/standalone_toolchains/include/c++/4.9.x link=static,shared variant=release threading=multi --prefix=/home/rahul/Android/Sdk/boost/arm install
ndk использовал: android-ndk-r16b, также пробовал на android-ndk-r15c
Используя этот сайт для справки:
https://sites.google.com/site/robdevelopertips/how-to-build-boost-1-64-0-for-android введите описание ссылки здесь
ПОЧЕМУ эти ошибки?
1 ответ
Вы можете скомпилировать надстройку с помощью цепочки инструментов позже, чем Android API 24.
Странно, что fgetpos, похоже, определен в stdio.h даже для более ранних версий Android API. Я полагаю, что в stdio.h есть только объявление fgetpos, но в libc от Google нет определения (реализации).