2017-06-16 11 views
0

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ではありません。

どのように恥ずかしい。

+0

リンカに渡された '-Wl、gc-sections'オプションのため、リンカがgc_sectionsのためにルックアップしている理由は誰でも理解できます。 '--gc-sections'または' -Wl、-gc-sections'でなければなりません。 – Tsyvarev

答えて

1

明らかに、私は引数のハイフンを間違えています。正しいリンカーフラグは、もちろん-Wl,--gc-sectionsであり、-Wl,gc-sectionsではありません。

どのように恥ずかしい。

関連する問題