Android 是否可以混合使用不同版本的gcc和ld?

Android 是否可以混合使用不同版本的gcc和ld?,android,gcc,ld,unix-ar,Android,Gcc,Ld,Unix Ar,我的环境是东芝AC100上的arm linux AndroidABI Android 2.2。我有两套适用于我的环境的GCC编译器安装在设备上的不同位置: 4.4.3 4.6.0 我所面临的问题是,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运行co

我的环境是东芝AC100上的arm linux AndroidABI Android 2.2。我有两套适用于我的环境的GCC编译器安装在设备上的不同位置:

4.4.3 4.6.0 我所面临的问题是,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运行configure,它将在配置步骤失败,因为即使成功编译了configure测试程序,gcc也会出错并返回非零值139。然而,如果我使用4.6.0运行configure,configure运行得就足够好了,但是构建makeall在链接和静态库创建时失败得很惨

我的问题是:

是否可以使用gcc-4.4.3编译我的对象文件gcc-4.4.3-c input.c,然后链接到ld-4.6.0 ld-4.6.0-o input.o-lc?也就是说,我将删除有问题的二进制文件,并使用工作二进制文件的组合来构建项目。 如果有警告,那是什么?
您可以使用shell脚本调用gcc,以隐藏错误的退出代码。

没有尝试,但我想知道编译器将使用哪些库头以及链接器将链接哪些库头。也许你必须告诉他们……当我发布这个问题时,我意识到我本可以试着去看。然而,正如你的评论所表明的,我需要研究很多警告,我已经这样做了。但是,它有一个缺点,即即使编译失败,gcc包装器也会返回true,因为退出代码始终是针对分段错误139返回的代码。也许您可以检查是否生成了可执行文件并返回成功,否则返回错误代码?当然,整个事情仍然是一个黑客。。。