問題タブ [cmake-language]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - CMake を使用した Stm32 プロジェクトの構成
最近、stm32 プロジェクトを CMake に切り替えて、IDE に依存しないようにしました。ルート リポジトリ (アプリケーション) には複数のサブモジュール (HAL、FreeRTOS など) が含まれ、その CMakeLists.txt には使用されるすべてのファイルが明示的に含まれています。
このソリューションは機能しますが、持続可能なアプローチではないことはわかっています。そこで、ソースとインクルードを指定して、lib-hal および lib-freertos サブモジュールでライブラリを作成しようとしました
そして使用する
と
サブモジュールをアプリケーション プロジェクトに「インポート」します。しかし、実行可能ファイルをビルドするとき、gcc はルート ディレクトリincludeにあるファイルstm32h7xx_hal_conf.hおよびFreeRTOSConfig.hにアクセスできません。構成ヘッダーは、構成が異なる複数のプロジェクトで使用されるため、サブモジュールに配置したくありません。ライブラリを親プロジェクトに追加した後、ライブラリの既に指定されているディレクトリ検索範囲を何とか拡張することは可能ですか?
プロジェクトのファイル構造:
返信ありがとうございます。
cmake - cmake コンパイラ定義を非表示にする方法 -D ターミナルでの印刷から
add_compile_definitions(var=value......) を使用してルート CMakeLists.txt に追加された何百ものコンパイラ定義があり、ビルド中に -Dvar=value を指定してコマンドライン/ターミナルに出力されます。エコーをオフにして、端末ウィンドウから印刷を非表示にしたいと考えています。これまで私は使ってみました
cmakecache.txt の CMAKE_VERBOSE_MAKEFILE が False に設定されていますが、CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL が何らかの形で 1 に設定されていますが、デバッグのためにキャッシュ内のこの変数を「0」に変更しても役に立ちませんでした...誰かが持っていますかより良い提案?