クロスプラットフォームライブラリとAPI
Qt Creator IDEと生産性向上ツール
UI compositionのためのUIデザインツール
Qtプロジェクト向け
モバイルアプリのデジタル広告
受託開発、トレーニング、サポート等
組み込み向けユーセージ分析
Qtは、UIデザインやソフトウェア開発から品質保証、展開に至るまで、製品開発ライフサイクル全体で生産性を向上させます。あなたのニーズに最も適したソリューションを見つけてください。
最新のリソースを入手し、今後のイベントを確認しましょう。
理想的な学習リソースを見つけたり、コミュニティと交流したりして、Qtのスキルを向上させましょう。
初心者であろうとベテランのQtプロであろうと、成功するために必要なサポートと助けがすべて揃っています。
4月 30, 2022 by Qt Group 日本オフィス | Comments
本稿は「Introducing qmake2cmake」の抄訳です。
Qt独自のQMakeプロジェクトファイルは、qtbaseに存在するpro2cmakeというPythonスクリプトを使用して変換されます。このスクリプトは、Qtリポジトリ内のプロジェクトを変換するために特別に作成されており、ユーザープロジェクトの変換にはほとんど役立ちません。
このスクリプトをフォークして、お客様のプロジェクトに適用できる変換ツールにしました。それがqmake2cmakeです。
qmake2cmake
ツールは、変換された.pro
ファイルの一般的な機能をカバーするCMakeLists.txt
を作成します。生成されたCMakeプロジェクトはベースラインとして使用できますが、おそらく手動で調整が必要になるでしょう。
変換できないQMake構文は、CMakeプロジェクト内のコメントとして表示されます。これらのコメントは、該当部分を手動で変換する際に役立ちます。
多くのプロジェクトには複数の.proファイルがあります。QMakeのSUBDIRS
階層に対しては、qmake2cmake_all
があり、プロジェクトのルートディレクトリ内で起動し、その下のすべてを変換します。
Qt自体では、変換速度が無視できない要素でした。そのため、qmake2cmake_all
はサブプロジェクトの変換を並列化しています。
変換できない箇所はいくつかあります。
TEMPLATE = aux
プロジェクト.prf
ファイルこのすべては、手動で変換する必要があります。
qmake2cmakeのインストールは非常に簡単で、次のコマンドを実行するだけです。
python -m pip install qmake2cmake
ソースコードが必要な場合は、下記リポジトリをクローンしてください。
git://code.qt.io/qt/qmake2cmake.git
インストールの要件やその他の詳細については、README.mdを参照してください。
プロジェクト構造の全体を変換するには、プロジェクトディレクトリをqmake2cmake_all
に渡してください。qmake2cmake_all ~/projects/myapp --min-qt-version 6.3
プロジェクトがビルドに使用する最低Qtバージョンを指定する必要があります。これにより、正しいCMake APIがQtバージョンに選択されます。
各呼び出しでこのパラメータを渡すことを避けるために、QMAKE2CMAKE_MIN_QT_VERSION
環境変数を設定することもできます。
次の呼び出しによって、単一のQMakeプロジェクトファイルをCMakeに変換します。qmake2cmake ~/projects/myapp/myapp.pro
デフォルトでは、CMakeLists.txt
は.pro
ファイルと同じ場所に配置されます。別の場所に作成するには、-o
オプションを使用してください。qmake2cmake ~/projects/myapp/myapp.pro -o ~/projects/myapp-converted/CMakeLists.txt
次のコードは、gui/analogclock example のサンプルを最小Qtバージョン6.3でCMakeに変換した結果を示しています。
cmake_minimum_required(VERSION 3.16)
project(analogclock VERSION 1.0 LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
qt_standard_project_setup()
find_package(QT NAMES Qt5 Qt6 REQUIRED COMPONENTS Core)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Gui)
qt_add_executable(analogclock WIN32 MACOSX_BUNDLE
../rasterwindow/rasterwindow.cpp ../rasterwindow/rasterwindow.h
main.cpp
)
target_include_directories(analogclock PRIVATE
../rasterwindow
)
target_link_libraries(analogclock PRIVATE
Qt::Core
Qt::Gui
)
install(TARGETS analogclock
BUNDLE DESTINATION .
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
qt_generate_deploy_app_script(
TARGET analogclock
FILENAME_VARIABLE deploy_script
NO_UNSUPPORTED_PLATFORM_ERROR
)
install(SCRIPT ${deploy_script}
qmake2cmakeツールはQtプロジェクトによってホストされており、通常の貢献ルールが適用されます。
バグは、プロジェクト「Qt(QTBUG)」およびコンポーネント「Build Tools: other」を使用して、https://bugreports.qt.io/ に報告してください。
Download the latest release here: www.qt.io/download.
Qt 6.8 release focuses on technology trends like spatial computing & XR, complex data visualization in 2D & 3D, and ARM-based development for desktop.
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
11 10, 2024
本稿は「C++20 comparison in Qt (even with C++17🤩)」の抄訳です。 Qt..
11 4, 2024
本稿は「Qt Quick 3D survey - November 2024」の抄訳です。 Qt Quick..
11 2, 2024
本稿は「Preparing for the European Cyber Resilience Act (CRA)」の抄訳です。..
Qt Group includes The Qt Company Oy and its global subsidiaries and affiliates.