C
カスタムツールチェーンの使用
デフォルトでは、Qt Quick Ultraliteは、サポート対象のプラットフォーム全体でARM GCC、GHS、またはIARのツールチェーンをサポートしています。ただし、プロジェクトで独自のコンパイラを使用することも可能です。
プロジェクトへの<YOUR_COMPILER>.cmake ツールチェーンファイルの追加
`lib\cmake\Qul\toolchain `ディレクトリに<YOUR_COMPILER>.cmake を追加します。このファイルは、プロジェクト用のツールチェーンを設定するものです。また、既存のツールチェーン設定を基に、コンパイラ設定を行うこともできます。
このファイルでは、以下の変数を設定する必要があります。
| 変数 | 説明 |
|---|---|
CMAKE_SYSTEM_NAME | CMake がビルドを行う対象のオペレーティングシステム。これは `Generic` に設定する必要があります。 |
CMAKE_SYSTEM_PROCESSOR | CMakeがビルドを行う対象のプロセッサ。たとえば、ターゲットCPUがARM CPUの場合は、これをarm に設定します。 |
COMPILER_FOLDER_NAME | Qt Quick Ultraliteプロジェクトに対し、ターゲットプラットフォームで使用するコンパイラディレクトリを指定します。これはplatform\boards\<MANUFACTURER_NAME>\<YOUR_PLATFORM>\cmake 内のコンパイラディレクトリ名と一致している必要があります。一致しない場合、構成中にエラーが発生します。 |
LINKER_SCRIPT_OPTION | これは、リンカがリンカスクリプトを組み込むために必要なコマンドラインオプションを指定します。GNUツールチェーンの場合は `-T` ですが、IARの場合は `--config` を使用します。 |
CMAKE_C_COMPILER | C コンパイラのパス。 |
CMAKE_CXX_COMPILER | C++ コンパイラのパス。 |
CMAKE_ASM_COMPILER | アセンブラへのパス。プラットフォームにアセンブリファイルがない場合は、これは必要ありません。 |
CMAKE_AR | ツールチェーンのアーカイバへのパス。 |
CMAKE_CXX_FLAGS_INIT | すべての構成で使用される C++ コンパイラのフラグ。 |
CMAKE_C_FLAGS_INIT | すべての構成で使用される C コンパイラのフラグ。 |
CMAKE_C_FLAGS_DEBUG | CMAKE_C_FLAGS_INIT で使用されるフラグに加えて、デバッグ構成で使用される C コンパイラのフラグ。 |
CMAKE_CXX_FLAGS_DEBUG | CMAKE_CXX_FLAGS_INIT で使用されるフラグに加えて、デバッグ構成で使用されるC++コンパイラのフラグ。 |
CMAKE_EXE_LINKER_FLAGS_INIT | すべての構成で使用されるリンカーフラグ。 |
さらに、コンパイラを識別するために使用できる変数を設定する必要があります。
SET(<YOUR_COMPILER> ON)これは、必要に応じて他の CMake ファイルで追加の設定を行うために使用されます。
<YOUR_COMPILER> ディレクトリ
platform\boards\<MANUFACTURER_NAME>\<YOUR_PLATFORM>\cmake ディレクトリ内に、ツールチェーン用の<YOUR_COMPILER> という名前のディレクトリ(前の手順でCOMPILE_FOLDER_NAME に設定した名前)を作成し、プロジェクトの一般的な設定の 「cmake ディレクトリ」セクションに記載されている必要なファイルをすべて追加します。
Qt Quick Ultralite における CMake 設定ファイル
お使いのツールチェーンによっては、Qt Quick Ultralite での追加設定が必要になる場合があります。
以下のファイルにはコンパイラ依存の設定が含まれており、確認しておく価値があるかもしれません。
examples\CMakeLists.txtには、WallやWerrorなど、コンパイラに依存する警告フラグが含まれています。お使いのコンパイラが、すでに提供されているフラグをサポートしていない場合は、ここに独自のフラグを追加してください。platform\CMakeLists.txt複数のプラットフォームで同じコンパイラを使用する場合は、Platform用の共通のコンパイルオプションをここに記述しておくとよいでしょう。src\CMakeLists.txtCoreターゲットのビルドに使用されます。コンパイラに考慮すべき特定の引数がある場合は、ここに追加してください。このファイルには、サポートされているコンパイラ用の設定コードも含まれています。お使いのコンパイラが設定されたパラメータを使用できるか確認し、必要に応じてコードを修正してください。
src\pngdecoders.cmakeQt Quick Ultralite に LodePNG ベースの PNG デコーダを追加します。デコーダのビルド時に考慮すべきコンパイラの特定の引数がある場合は、ここに追加してください。
これでコンパイラのセットアップの準備が整いました。以下のコマンドで CMake を実行してテストしてください。
-DCMAKE_TOOLCHAIN_FILE=path/to/Qt/QtMCUs/2.12.2/cmake/Qul/toolchain/<YOUR_COMPILER>.cmake特定の Qt ライセンスの下で利用可能です。
詳細はこちらをご覧ください。