【问题标题】:Change few configure time options for GCC compiler 4.1.2更改 GCC 编译器 4.1.2 的一些配置时间选项
【发布时间】:2019-07-12 12:28:50
【问题描述】:

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

【问题讨论】:

    标签: linux gcc compilation cross-compiling toolchain


    【解决方案1】:

    几年前我做过类似的事情 - 那时它有效;-)

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

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

    我不推荐它,但可以尝试(在你备份原版之后)

    【讨论】:

    • 路径长度不同,旧路径:/opt/emlix/foo/sysroot,新路径:/opt/emlix/bar1234/sysroot
    • 如果新的路径长度更长,您可能会遇到各种问题。你可以用链接做任何事情吗?就像将旧点指向新点(那么您根本不需要编辑 exe)或指向其中一部分的链接(例如 /mydir -> /opt/emlix)以缩短新路径? (我没有计算字符以查看该示例链接是否有效)
    • 好吧,所有工具链 gcc 二进制文件和库都是预编译的,我没有配置文件和脚本来从头开始重建整个工具链。
    • @minto 根据问题和答案 - 您可以使用 sed 更改路径。我在缩短路径方面有个人经验 - 它有效(或者几年前我这样做时它确实有效;-) 使路径更长意味着文件中的偏移量等发生变化,所以我不想建议它会起作用。我建议您可以通过使用软链接缩短路径来克服这个问题。
    猜你喜欢
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多