我的环境是arm-linux-androideabi(东芝AC100上的Android 2.2(。我为我的环境准备了 2 套 GCC 编译器(安装在设备上的不同位置(:
- 4.4.3 (安卓上的安卓 NDK(
- 4.6.0 (安卓上的R + GCC(
我面临的问题是 gcc-4.6.0 在运行时都会出现段错误(但是它成功地运行了每个任务,只是在最后出现段错误,可能在退出例程中(,而 ld-4.4.3 和 ar-4.4.3 无法在我的环境中运行。另一方面,gcc-4.4.3运行良好,ld-4.6.0和ar-4.6.0也是如此。
因此,在我的设备上构建时,如果我使用 4.4.3 运行 config,它将在配置步骤失败,因为即使配置测试程序编译成功,gcc 也会出现段错误并返回非零值 (139(。但是,如果我使用 4.6.0 运行配置,配置运行得足够好,但构建 ( make all
( 在链接和静态库创建时惨遭失败。
我的问题是:
- 是否可以使用 gcc-4.4.3 编译我的目标文件 (
gcc-4.4.3 -c input.c
( 然后与 ld-4.6.0 (ld-4.6.0 -o input input.o -lc
( 链接?也就是说,我将删除有问题的二进制文件,并使用工作二进制文件的组合来构建项目。 - 如果有警告,那么它们是什么?
您可以使用 shell 脚本调用 gcc,以隐藏错误的退出代码。