Почему arm-linux-androideabi-gcc выдает ошибку iostream
На моем компьютере установлен arm-linux-androideabi-gcc, но когда я пытаюсь скомпилировать даже простой мир hellow, он выдает ошибку (я предпочитаю не использовать ndk-build) . Я просто хочу скомпилировать из командной строки...
#include <iostream>
using namespace std;
int main (){
return 0;
}
И я получил эту ошибку:
ошибка: iostream: нет такого файла или каталога
У меня есть arm-linux-androideabi-gcc в ~/android-ndk-r8b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin
,
Я пытался в том числе -I ~/android-ndk-r7b/platforms/android-9/arch-arm/usr
Я также пытался в том числе -lstdc++
просто чтобы увидеть, работает ли это, но нет...
./arm-linux-androideabi-g++ -o ff first.cpp -I /home/hari/android-ndk-r7b/platforms/android-9/arch-arm/usr -lstdc++
3 ответа
Сначала вам нужно создать отдельную цепочку инструментов:
make-standalone-toolchain.sh --platform=android-14 --install-dir=standalone-toolchain --ndk-dir=$ANDROID_NDK_PATH
экспортировать путь
export PATH=$TOOLCH/standalone-toolchain/bin:$PATH
Затем создайте файл:
arm-linux-androideabi-g++ -o test-new test.cpp
Примечание: проблема с использованием ревизии 8b, которая является последней версией NDK: http://code.google.com/p/android/issues/detail?id=35279
arm-linux-androideabi-g++ -o test-new test.cpp --sysroot=$TOOLCH/sysroot
-I$TOOLCH/lib/gcc/arm-linux-androideabi/4.6.x-google/include
-I$TOOLCH/lib/gcc/arm-linux-androideabi/4.6.x-google/include-fixed
-I$TOOLCH/arm-linux-androideabi/include/c++/4.6
-I$TOOLCH/arm-linux-androideabi/include/c++/4.6/arm-linux-androideabi
-I$TOOLCH/sysroot/usr/include
Посмотрите на ошибку: iostream: No such file or directory
#include "iostream"
должен быть #include #include <iostream>
Согласно http://code.google.com/p/android/issues/detail?id=35279, это ошибка автономного набора инструментов. Я думаю, что лучшее решениеln -s $TOOLCH/arm-linux-androideabi/include/c++/4.6 $TOOLCH/arm-linux-androideabi/include/c++/4.6.x-google