我使用了以下代码...
安装目录-- ~/Development/Android/android-ndk-r8c/build/tools/make-standalone-toolchain.sh =android-9--
-dir=/Users/me/toolchain
然后我创建以下代码文件...
int main ()
{
return 0;
}
我试过..。
<toolchain>/arm-linux-androideabi-gcc test.c
我也试过了
<toolchain>/arm-linux-androideabi-gcc --sysroot=<toolchain>/sysroot test.c
两个人都回来了。
toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtbegin_dynamic.o: No such file or directory
发布于 2013-07-11 14:24:54
为了简单起见,只需设置sysroot:
<toolchain>/arm-linux-androideabi-g++ ~/test.c -o ~/test --sysroot=/home/user/android-ndk/platforms/android-9/arch-arm/
发布于 2014-01-09 22:06:08
/arm-linux-androideabi-gcc测试。c
在这篇文章中你遗漏了sysroot
。
/arm-linux-androideabi-gcc --sysroot=/sysroot test.c
这一次,sysroot
错了。它应该类似于:
--sysroot=/opt/android-ndk-r9/platforms/android-18/arch-arm
您还需要导出LD (所有工具都应该在path上):
$ echo $PATH
/opt/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/bin:
/opt/android-sdk-macosx/tools/:/opt/android-sdk-macosx/platform-tools/:/opt/local/bin:
/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin
$ echo $LD
arm-linux-androideabi-ld
您可能应该导出工具链中的所有工具:
export CPP=arm-linux-androideabi-cpp
export CC=arm-linux-androideabi-gcc
export CXX=arm-linux-androideabi-g++
export LD=arm-linux-androideabi-ld
export AS=arm-linux-androideabi-as
export AR=arm-linux-androideabi-ar
export RANLIB=arm-linux-androideabi-ranlib
如果您正在处理Autoconf项目,请添加以下内容:
$ echo $ANDROID_SYSROOT
/opt/android-ndk-r9/platforms/android-18/arch-arm
export CPPFLAGS="--sysroot=$ANDROID_SYSROOT"
export CFLAGS="--sysroot=$ANDROID_SYSROOT"
export CXXFLAGS="--sysroot=$ANDROID_SYSROOT"
发布于 2013-05-29 00:15:57
回过头来看,我根据命令为Android-9制作了我的工具链……
安装目录-- ~/Development/Android/android-ndk-r8c/build/tools/make-standalone-toolchain.sh =android-9--
-dir=/tmp/my-toolchain
我跑的时候..。
<install>/android-ndk-r8c$ find ./ -name crtbegin_dynamic*
.//platforms/android-14/arch-arm/usr/lib/crtbegin_dynamic.o
.//platforms/android-14/arch-mips/usr/lib/crtbegin_dynamic.o
.//platforms/android-14/arch-x86/usr/lib/crtbegin_dynamic.o
.//platforms/android-3/arch-arm/usr/lib/crtbegin_dynamic.o
.//platforms/android-4/arch-arm/usr/lib/crtbegin_dynamic.o
.//platforms/android-5/arch-arm/usr/lib/crtbegin_dynamic.o
.//platforms/android-8/arch-arm/usr/lib/crtbegin_dynamic.o
.//platforms/android-9/arch-mips/usr/lib/crtbegin_dynamic.o
.//platforms/android-9/arch-x86/usr/lib/crtbegin_dynamic.o
正如你所看到的,由于某种原因,我安装的android-9没有这个文件。我为android-14进行了重新构建,一切工作正常。有人知道这是怎么回事吗?笨蛋文件在我这方面移动?
https://stackoverflow.com/questions/16795583
复制相似问题