Я пытаюсь выполнить кросс-компиляцию grpc C ++ (https://github.com/grpc/grpc) для Android из Ubuntu с помощью компилятора Android NDK CLANG (arm-linux-androideabi-clang ++).
Я попробовал ниже способ скомпилировать его для Android.
export PATH=/root/Android/arm-26-toolchain-clang/bin:$PATH
export SYSROOT=/root/Android/arm-26-toolchain-clang/sysroot
export CC="arm-linux-androideabi-clang --sysroot $SYSROOT"
export CXX="arm-linux-androideabi-clang++ --sysroot $SYSROOT"
make CFLAGS='-std=c11 -march=armv7-a -D__ANDROID_API__=26' CXXFLAGS='- std=c++11 -frtti -fexceptions -march=armv7-a -D__ANDROID_API__=26' LIBS='-llog -lz -lc++_static' -j2
Выдает ошибку при компиляции zlib.c - ошибка: неявное объявление функции
'lseek' недействителен в C99
Как указать сборку с использованием C11 с использованием вышеуказанного компилятора CLANG?
Когда я позволил ему двигаться вперед, игнорируя эту ошибку, он остановился на уровне ниже -
./src/core/lib/surface/completion_queue.h:92:5: error: unknown type name
'grpc_experimental_completion_queue_functor'
grpc_experimental_completion_queue_functor* shutdown_callback);
Я пытался скомпилировать пример из https://github.com/grpc/grpc/tree/master/examples/android/helloworld, но он выдает ошибку при компиляции boringssl.
Не могли бы вы помочь кросс-компиляции gRPC для Android для toolchain arm-linux-androideabi?
Спасибо