excistingプロジェクト用のCMakeビルドをセットアップしていて、すべてのソース(.c)をコンパイルしてリンカーステージに達しました。arm-none-eabi-ld - "gc-sectionsが見つかりません"
ここで私は次のようなエラーに遭遇:
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ ld:gc-sectionsが見つかりません:そのようなファイルやディレクトリはありません。
コンパイルは "アーム-なし-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
ではありません。
どのように恥ずかしい。
リンカに渡された '-Wl、gc-sections'オプションのため、リンカがgc_sectionsのためにルックアップしている理由は誰でも理解できます。 '--gc-sections'または' -Wl、-gc-sections'でなければなりません。 – Tsyvarev