Qt for QNXのビルド
QNX SDP のセットアップ
Qt 6 をビルドするには、QNX のウェブサイトから QNX SDP をダウンロードしてインストールする必要があります。
注: 適切なライセンスが必要です。詳細については、QNXにお問い合わせください。
注: QNX SDP 8.0のインストールに、QNX Software Centerからの実験的なWaylandパッケージを追加しないでください 。これらは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 なども利用可能です。
注: QNX では、CMake が 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/qtQt 6 以降、configure ツールは 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
- QNX SDP 8.0の場合は800
1つのQNXバージョンのみを使用する場合は、ツールチェーンファイル内でCMAKE_SYSTEM_VERSIONを定義することもできます。
注: Windows上でビルドする場合 、PCH(プリコンパイル済みヘッダー)を有効にするとQNXコンパイラがクラッシュするため、明示的に無効にする必要があります。PCHを無効にするには、設定オプション `-no-pch` を使用してください。
注: QNX SDP 8.0を使用する場合は 、設定オプション `-skip qtremoteobjects -skip qtinterfaceframework` を使用して、サポート対象外のモジュールおよびそれらの依存モジュールをスキップしてください。
エラーなく設定が完了したら、次のコマンドを実行して Qt をビルドします。
cmake --build . --parallel注: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 変数を、キット設定([編集] > [環境設定] > [キット])に追加する必要があります。
Qt Creator を使用中に QNX デバイスへの接続やキットの追加に関する詳細については、「QNX デバイスの接続」を参照してください。
サードパーティ製ライブラリ
システムイメージには、最小限の QNX Neutrino RTOS イメージには必ずしも含まれていない以下の追加のサードパーティ製ライブラリが含まれていることを確認してください:
libfontconfiglibfreetypelibiconvlibicui18nlibicudatalibicuuclibpng16libxml2libsqlite3libssllibcryptolibzstd
注:これは 、QNX Neutrino OS 上で Qt が使用する共有ライブラリの完全なリストではありません。一般的な OS イメージにはすでに複数の共有ライブラリが含まれているか、Screen など、システムの他の部分によって含まれている場合があります。
「Qt コンフィギュレーションオプション」および「Qt の設定」も参照してください 。
© 2026 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.