【问题标题】:arm-none-eabi-ld - "cannot find gc-sections"arm-none-eabi-ld - “找不到 gc 部分”
【发布时间】:2017-06-16 08:30:18
【问题描述】:

我正在为一个现有项目设置 CMake 构建,并已成功编译所有源 (.c) 并到达链接器阶段。

在这里我遇到了以下错误:

/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: 找不到 gc-sections: 没有这样的文件或目录.

使用带有以下标志的“arm-none-eabi-gcc”完成编译:

-Wall  -fdata-sections -ffunction-sections -std=gnu99 -mabi=aapcs -mcpu=cortex-m4 -mthumb -mfloat-abi=hard'

链接器使用以下标志:

-Wl,-Map=out.map -Wl,gc-sections -mabi=aapcs -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -T${LINKER_SCRIPT_PATH}

任何人都明白为什么链接器正在寻找gc_sections

编辑:显然我错过了论点的前导连字符。正确的链接器标志当然是-Wl,--gc-sections,而不是-Wl,gc-sections

好尴尬。

【问题讨论】:

  • Anyone understand why the linker is loooking for gc_sections? - 很可能是因为选项 -Wl,gc-sections 传递给了链接器。应该是--gc-sections-Wl,--gc-sections

标签: gcc cmake linker arm cross-compiling


【解决方案1】:

显然我错过了论点的前导连字符。正确的链接器标志当然是-Wl,--gc-sections,而不是-Wl,gc-sections

好尴尬。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多