私のC++ ARM Cross GCCプロジェクトで同じ問題に遭遇しました。Makefile と GNU ARM Embedded Toolchain を備えた Ubuntu Docker イメージを使用してプロジェクトをビルドし、Windows で開発しています。
私の場合、未解決のシンボルを取り除く解決策は、次の 2 つの部分に分けることができます。
- CDT Arm Cross GCC 組み込みコンパイラ設定には、コンパイラへのパスがありませんでした。
コンパイラへのProject Properties -> C/C++ General -> Preprocessor Include Paths -> Providers(tab)
パスを指定する必要があります。
GNU ARM Embedded Toolchainを使用して、 Command to get compiler specs: I currently useのエントリは次のとおりです。
C:\GNU_Arm_Embedded_Toolchain\9-2020-q2-update\bin\arm-none-eabi-g++.exe ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"
注: はい、Docker イメージで使用しているものと同じツールチェーンを Windows マシンにインストールしています。
呼び出しが正しいことを確認するには、コンソール ビューで [割り当て] コンソールにチェックマークを付けます。これにより、コンソールに詳細な出力が提供されます。また、Entriesタブで、CDT Arm Cross GCC Built-in Compiler Settingsを展開すると、インクルードと含まれているシンボルが表示されます。
Project Properties -> C/C++ General -> Paths and Symbols
メニューに記号がありません。
Makefile に定義があるので、ここにも MCU の定義を追加するのを忘れていました。
これが誰かに役立つことを願っています! :)