Qt for QNX のビルド
QNX SDP のセットアップ
Qt 6 をビルドするには、QNX ウェブサイトから QNX SDP をダウンロードしてインストールする必要があります。
注: 適切なライセンスが必要です。詳細はQNX にお問い合わせください。
メモ: QNX ソフトウエア センターの実験的 Wayland パッケージを QNX SDP 8.0 のインストールに追加しないでください。これらは Qt のビルドには必要ありませんが、Qt のビルドを設定する際にヘッダの競合を引き起こす可能性があります。
コンパイラおよびツールチェーンの他の部分は、SDP パッケージで提供されています。ターミナルで SDP インストール フォルダにある QNX セットアップ スクリプトを次のように実行して、ビルド環境を初期化します:
source qnxsdp-env.sh
または、Windows コマンドシェルで qnxsdp-env.bat を実行します。
ホストビルド
Qt をクロスコンパイルするには、Qt のホストビルドが必要です。これは、ビルド中に特定のツール(moc
、rcc
、qmlcachegen
、qsb
など)がホストビルドから呼び出されるためです。選択肢は2つあります:
- ホスト用にQt ソースをビルドするか
- Qt Online Installer を使用してホストビルドをインストールする。
QNX 用ツールチェーンファイルの作成
CMake でプロジェクトをクロスコンパイルするには、ツールチェーンファイルが必要です。この CMake 言語ファイルは、プラットフォーム名、コンパイラ/リンカ、およびその他多くのツールチェーン固有のものに正しい値を設定します。参考までに、CIで使われるツールチェーンファイルはソースパッケージcoin/provisioning/common/shared/cmake_toolchain_filesから見つけることができます。
set(CMAKE_SYSTEM_NAME QNX) set(CMAKE_SYSTEM_PROCESSOR armle-v7) set(arch gcc_ntoarmv7le) set(CMAKE_C_COMPILER qcc) set(CMAKE_C_COMPILER_TARGET ${arch}) set(CMAKE_CXX_COMPILER q++) set(CMAKE_CXX_COMPILER_TARGET ${arch}) set(CMAKE_FIND_ROOT_PATH $ENV{QNX_TARGET};$ENV{QNX_TARGET}/${CMAKE_SYSTEM_PROCESSOR}) set(CMAKE_SYSROOT $ENV{QNX_TARGET})
サンプルはarmv7le
のファイルです。ターゲット・アーキテクチャによっては、aarch64le
やx86_64
もあります。
注意: Cmake は QNX 上で STRIP、AR、RANLIB、NM 変数を正しく渡さないため、使用する場合はツールチェインファイルで個別に指定する必要があります。
QNX 用 Qt の設定とビルド
QNX 用の Qt を設定およびビルドするには、以下が必要です:
- Qt ソースのビルド」で説明する Qt のビルドツールが、ホストプラットフォーム用に用意され、 機能していること。
- ツールチェーンファイル(この例では
$HOME/qnx.cmake
)。 - チェックアウトまたはインストールされた Qt ソースコード(この例では
$HOME/qt
以下)。 - Qt のホストビルド、この例では
$HOME/qt-host
。 - ローカルシステム上の Qt ビルドインストール場所のプレフィックス、この例では
$HOME/qnx-install
。 - ターゲットデバイス上の Qt ビルドの配置場所のプレフィックス、この例では
/qt
。
build
ディレクトリを作成し、そこに移動したら、以下を実行してください:
$HOME/qt/configure -nomake examples -nomake tests \ -qt-host-path $HOME/qt-host \ -extprefix $HOME/qnx-install \ -prefix /qt \ -- -DCMAKE_TOOLCHAIN_FILE=$HOME/qnx.cmake \ -DCMAKE_SYSTEM_VERSION=710 \ $HOME/qt
Qt 6以降、configurationツールはCMakeのラッパーであり、実際には、このconfigureコマンドは以下のCMakeの直接呼び出しと同等です:
cmake -GNinja -DQT_BUILD_EXAMPLES=OFF -DQT_BUILD_TESTS=OFF \ -DQT_HOST_PATH=$HOME/qt-host \ -DCMAKE_STAGING_PREFIX=$HOME/qnx-install \ -DCMAKE_INSTALL_PREFIX=/qt \ -DCMAKE_TOOLCHAIN_FILE=$HOME/qnx.cmake \ -DCMAKE_SYSTEM_VERSION=710 \ $HOME/qt
QNX SDP のバージョンに基づいて CMAKE_SYSTEM_VERSION の値を選択します:
- QNX SDP 7.1 の場合は 710
- 800(QNX SDP 8.0 の場合
1 つの QNX バージョンでのみ作業する場合は、ツールチェーン ファイルで CMAKE_SYSTEM_VERSION を定義することもできます。
注: Windows でビルドする場合、PCH(プリコンパイル ヘッダー)を有効にすると QNX コンパイラがクラッシュするため、明示的に無効にする必要があります。PCH を無効にするには、設定オプション-no-pch
を使用します。
注: QNX SDP 8.0 を使用している場合は、コンフィグレーション オプション-skip qtmultimedia -skip qtspeech -skip qtremoteobjects -skip qtinterfaceframework
を使用して、サポートされていないモジュールとその依存モジュールをスキップします。
設定がエラーなしで完了したら、以下を実行して Qt をビルドします:
cmake --build . --parallel
注意: QNX コンパイラは、ホスト ビルドに使用したコンパイラよりも多くのメモリを必要とする場合があります。注意: QNX コンパイラーは、ホスト ビルドに使用したコンパイラーよりも多くのメモリを必要とする場合があります。--parallel <numOfProcesses>
を使用して、ビルド時の最大同時プロセス数を制限してください。
ビルドが完了したら、以下を実行してください:
cmake --install .
これにより、結果が$HOME/qnx-install
にインストールされます。ここから、Qt Creator 、直接 scp、または他の方法を使用して、Qt ビルドをターゲットデバイスにデプロイすることができます。-prefix
のコンフィギュレーション・パラメータ(例では /qt)は、ターゲット・デバイスのデプロイ場所を定義します。
ターゲットデバイスへのアプリケーションのビルド
Qt のビルドが完了し、ステージングロケーションにインストールされたら、サンプルやアプリケーションをビルドすることができます。
CMake を使用して、ステージングロケーションの bin ディレクトリ ( 例では$HOME/qnx-install
) に生成されたqt-cmake
スクリプトを使用してアプリケーションのビルドを設定し、ninja を実行します。例えば
$HOME/qnx-install/bin/qt-cmake . cmake --build .
その後、生成されたアプリケーション・バイナリをデバイスにデプロイできます。qt-cmake
ヘルパースクリプトを使用すると、Qt のビルドに使用されたツールチェー ンファイルが確実にロードされるため、アプリケーションごとに何度も指定する必要が なく便利です。
あなたのマシンでビルドされていない Qt インストールを使用する場合、qt-cmake
はターゲットプラットフォームの CMake ツールチェーンファイルの場所を知る必要があります。
そのような場合は、QT_CHAINLOAD_TOOLCHAIN_FILE
変数を以下のように設定することで、qt-cmake
にカスタムツールチェーンファイルをチェーンロードするように指示します:
$HOME/qnx-install/bin/qt-cmake -DQT_CHAINLOAD_TOOLCHAIN_FILE=$HOME/qnx.cmake .
自分のマシンでビルドされていない Qt インストールを使用してQt Creator でアプリケーションをビルドする場合、ローカルのツールチェーンファイルを指すCMAKE_TOOLCHAIN_FILE
変数をキット構成(Edit > Preferences > Kits)に追加する必要があります。
Qt Creator を使用した QNX デバイスのキットの接続と追加の詳細については、「QNX デバイスの接続」を参照してください。
サード パーティ ライブラリ
最小限の QNX Neutrino RTOS イメージには常に含まれているわけではありませんが、以下の追加サードパーティ・ライブラリがシステム・イメージに含まれていることを確認してください:
libfontconfig
libfreetype
libiconv
libicui18n
libicudata
libicuuc
libpng16
libxml2
libsqlite3
libssl
libcrypto
libzstd
注意: これは、QNX Neutrino OS で Qt が使用する共有ライブラリの完全なリストではありません。複数の共有ライブラリは、一般的な OS イメージで既に利用可能であるか、シス テムの他の部分、例えばScreen
などに含まれています。
Qt 設定オプション」と「Qt の設定」も参照してください 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.