2012-07-31 82 views
6

我在我的电脑中安装了arm-linux-androideabi-gcc,但是当我尝试编译一个简单的hellow世界时,它给出错误(我选择不要使用ndk-build)。我只是想通过命令行编译...为什么arm-linux-androideabi-gcc给iostream错误

#include <iostream> 

using namespace std; 

int main(){ 
    return 0; 
} 

我收到此错误:

error: iostream: No such file or directory

我在~/android-ndk-r8b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin臂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++ 
+1

问题是与make-standalone-toolchain.sh ...编辑此文件,因为此链接说 - >> https://android-review.googlesource.com/ #/ c/39878/1 /建立/工具/ make-standalone-toolchain.sh和谢谢你Frohnzie帮我弄明白这一点.. – solti 2012-08-17 07:48:44

回答

7

首先你需要创建一个独立的工具链:

make-standalone-toolchain.sh --platform=android-14 --install-dir=standalone-toolchain --ndk-dir=$ANDROID_NDK_PATH 

出口的路径:使用修订8B这是最新一期:

export PATH=$TOOLCH/standalone-toolchain/bin:$PATH 

然后建立文件:

arm-linux-androideabi-g++ -o test-new test.cpp 

注版本的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 
+0

谢谢Frohnzie的答案真的很感激它..现在arm- linux-androideabi-gcc现在工作正常...我能够编译没有问题:) – solti 2012-07-31 22:04:34

1

查看错误: iostream: No such file or directory

#include "iostream"应be #include #include <iostream>

+0

我做了.. .. stackoverflow隐藏整个字符串iostream(奇怪...)我这样做,但在我的程序中,我做#include ..谢谢你的回应,虽然.. – solti 2012-07-31 19:45:02

+0

我也试过使用--sysroot =而不是-I – solti 2012-07-31 19:48:37