gpt4 book ai didi

c - Android gcc sysroot 和链接器

转载 作者:太空宇宙 更新时间:2023-11-04 03:57:59 25 4
gpt4 key购买 nike

我正在用 Android 编译一个简单的程序 NDK Linux build在 Ubuntu Linux 10.0.4 上。

//no includes!!!
int main()
{
int a = 1, b = 2, c = -1;
return a + b + c - ( a + b + c);

}

当我为 gcc 运行这个 bash 脚本时,

bin='/media/sdb/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin'
rm -r ./obj/*.*
$bin/arm-linux-androideabi-gcc -c ./main.c -o ./obj/main.o
$bin/arm-linux-androideabi-gcc ./obj/main.o -o ./obj/main.exe

gcc 的输出给出了来自 ld ( arm-linux-androideabi-ld ) 的消息,它终止为 7 (second comma-delimited is ARM)信号。

这个简单的程序甚至无法在 Linux 上编译,请帮忙!

最佳答案

我已经在 ubuntu 12.4 中安装了静态工具链

sudo apt-get install gcc-arm-linux-gnueabi  // install this toolchain 

arm-linux-gnueabi-gcc -static -o main.exe main.c // this way compile ur binary

在android机上通过adb复制并运行

./main.exe

这适用于我的安卓手机。

编辑:

10.04

   sudo add-apt-repository ppa:linaro-maintainers/toolchain
sudo apt-get update
sudo apt-get install gcc-arm-linux-gnueabi

编辑2:它在这里的静态编译不使用仿生代码,而是通过将库复制到 ELF 中来包含库。

如果你想动态编译或者想依赖仿生代码那么使用

$NDK/docs/STANDALONE-TOOLCHAIN.html https://android.googlesource.com/platform/ndk/+/master/docs/STANDALONE-TOOLCHAIN.html

关于c - Android gcc sysroot 和链接器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14680791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com