2017-06-16 21 views
0

我正在为一个令人兴奋的项目建立一个CMake构建,并已成功编译所有源代码(.c)并到达链接器阶段。arm-none-eabi-ld - “找不到gc-sections”

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

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

-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} 

任何人都明白,为什么接头为

编译使用“手臂 - 无 - EABI - 海合会”具有以下标志完成loooking为gc_sections

编辑:显然我想念论证的主要连字符。正确的链接器标志当然是-Wl,--gc-sections,而不是-Wl,gc-sections

多么尴尬。

+0

'有人明白为什么链接器对gc_sections感兴趣吗?' - 很可能是因为选项'-Wl,gc-sections'传递给链接器。它应该是' - gc-sections'或'-Wl, - gc-sections'。 – Tsyvarev

回答

1

显然我想念论证的主要连字符。正确的链接器标志当然是-Wl,--gc-sections,而不是-Wl,gc-sections

多么尴尬。