我的计算机中安装了arm-linux-androideabi-gcc,但是当我尝试编译一个简单的hellow世界时,它会出错(我选择不使用ndk-build)。我只想从命令行编译......
#include <iostream>
using namespace std;
int main (){
return 0;
}
我收到了这个错误:
错误:iostream:没有这样的文件或目录
我在~/android-ndk-r8b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin
中有arm-linux-androideabi-gcc。
我尝试过包含-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++
答案 0 :(得分:7)
首先,您需要创建独立工具链:
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
答案 1 :(得分:1)
查看错误:
iostream: No such file or directory
#include "iostream"
应该是#include #include <iostream>
答案 2 :(得分:0)
根据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