为android构建protobuf

为android构建protobuf,android,android-ndk,protocol-buffers,cross-compiling,automake,Android,Android Ndk,Protocol Buffers,Cross Compiling,Automake,参考他人的话题,我会: export ANDROID_ROOT=/home/jean/android-ndk-r8e export PATH=$PATH:$ANDROID_ROOT/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86/bin/ ./configure --host=arm-linux-androideabi CC=arm-linux-androideabi-gcc CPPFLAGS="-I$ANDROID_ROOT/pl

参考他人的话题,我会:

export ANDROID_ROOT=/home/jean/android-ndk-r8e
export PATH=$PATH:$ANDROID_ROOT/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86/bin/
./configure --host=arm-linux-androideabi CC=arm-linux-androideabi-gcc CPPFLAGS="-I$ANDROID_ROOT/platforms/android-9/arch-arm/usr/include/ -I$ANDROID_ROOT/sources/cxx-stl/gnu-libstdc++/4.7/include" CFLAGS="-nostdlib" LDFLAGS="-Wl,-rpath-link=$ANDROID_ROOT/platforms/android-9/arch-arm/usr/lib/ -L$ANDROID_ROOT/platforms/android-9/arch-arm/usr/lib/" LIBS="-lc"
配置成功,但生成报告错误,它说在include路径中找不到bits/c++config.h,我搜索了这个文件,发现它位于android-ndk-r8e/sources/cxx stl/gnu libstdc++/4.7/libs/armeabi/include/bits中,所以我将它复制到android-ndk-r8e/sources/cxx stl/gnu libstdc++/4.7/include并再次生成另一个错误:

/bin/bash ../libtool  --tag=CXX   --mode=compile arm-linux-androideabi-g++ -DHAVE_CONFIG_H -I. -I..   -I/home/jean/android-ndk-r8e/platforms/android-9/arch-arm/usr/include/ -I/home/jean/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include  -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -O2 -g -DNDEBUG -MT common.lo -MD -MP -MF .deps/common.Tpo -c -o common.lo `test -f 'google/protobuf/stubs/common.cc' || echo './'`google/protobuf/stubs/common.cc
libtool: compile:  arm-linux-androideabi-g++ -DHAVE_CONFIG_H -I. -I.. -I/home/jean/android-ndk-r8e/platforms/android-9/arch-arm/usr/include/ -I/home/jean/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -O2 -g -DNDEBUG -MT common.lo -MD -MP -MF .deps/common.Tpo -c google/protobuf/stubs/common.cc  -fPIC -DPIC -o .libs/common.o
../libtool: line 1125: arm-linux-androideabi-g++: command not found
make[2]: *** [common.lo] Error 1
这很奇怪,我在路径中添加了arm-linux-androideabi-g++路径,我输入了“arm-linux-androideabi-g++--version”它可以工作,为什么make找不到它

顺便说一句 如果我使用sudo执行configure,或者更改为super user,configure将报告错误。错误是:

checking for arm-linux-androideabi-gcc... arm-linux-androideabi-gcc
checking whether the C compiler works... no
configure: error: in `/home/jean/Dev/cpplibs/protobuf-2.5.0':
configure: error: C compiler cannot create executables
您需要添加:

CXX=arm-linux-androideabi-g++

至少对
配置
的参数。您可能需要添加一些
cxflgs
以及。

仍然有相同的结果。我在macbook上尝试的相同命令是OK,我对此有点问题@你能聊聊吗?