Linux 更改GCC编译器4.1.2的几个配置时间选项

Linux 更改GCC编译器4.1.2的几个配置时间选项,linux,gcc,compilation,cross-compiling,toolchain,Linux,Gcc,Compilation,Cross Compiling,Toolchain,Linux PC和用于arm的交叉编译工具链,gcc版本4.1.2(arm Linux gnueabi gcc)。我想在预构建的工具链中进行更改—修改一些GCC编译器配置选项(在配置时设置),而不重建编译器:这可能吗?特别是,我需要用sysroot、prefix和gxx include dir更改选项参数中指定的目录。通过将更改应用于gcc二进制使用sed流编辑器,我是否可以在不重新编译源代码的情况下实现这一点?(替换目录)我在几年前就做过类似的事情-那时它还可以工作;-) 您需要确保新路径的长

Linux PC和用于arm的交叉编译工具链,gcc版本4.1.2(arm Linux gnueabi gcc)。我想在预构建的工具链中进行更改—修改一些GCC编译器配置选项(在配置时设置),而不重建编译器:这可能吗?特别是,我需要用sysroot、prefix和gxx include dir更改选项参数
中指定的目录。通过将更改应用于gcc二进制使用sed流编辑器,我是否可以在不重新编译源代码的情况下实现这一点?(替换目录)

我在几年前就做过类似的事情-那时它还可以工作;-)

您需要确保新路径的长度与现有路径的长度相同(或更短),然后替换“就地”值,即不更改字符串长度:

"/the_old_path\0" 
becomes 
"/new_path\0ath\0"

我不推荐这样做,但不妨尝试一下(备份原始文件后)

路径长度不同,旧路径:
/opt/emlix/foo/sysroot
,新路径:
/opt/emlix/bar1234/sysroot
。如果新路径长度更长,您可能会遇到各种问题。你能用链接做些什么吗?比如把旧的指向新的(那么你根本不需要编辑前男友)或者一个指向其中一部分的链接(比如/mydir->/opt/emlix)来缩短新路径?(我没有计算字符数以查看示例链接是否有效)好的,所有的工具链gcc二进制文件和库都是预编译的,我没有配置文件和脚本从头开始重建整个工具链。@minto根据问题和答案-您可以使用sed更改路径。我在缩短路径方面有自己的经验-它是有效的(或者几年前我做的时候是有效的;-)使路径变长意味着文件中的偏移量等会发生变化,所以我不想建议它会起作用。我建议您可以通过使用软链接缩短路径来克服这个问题。