C++ プラグイン (cmake) を使用した QML アプリでリソース ファイルを追加する

C++ プラグイン (cmake) を使用した QML アプリでリソース ファイルを追加する

「C++ プラグイン (cmake) を使用した QML アプリ」プロジェクトに qrc ファイルを追加するにはどうすればいいですか? 実用的な手順が見つかりません。 1 つだけ見つけたのは、CMakeLists.txt にこれを追加することです。

qt5_add_resources(RESOURCES modules/ProjectName/resources.qrc)

これにより、ファイルは最終的に Qt のファイル ツリーに表示されますが、コンパイル後にファイルが実行可能ファイルに含まれていないことは明らかです。どうすればよいでしょうか。

答え1

qt5_add_resources(RESOURCES modules/ProjectName/resources.qrc)

これは qrc ファイルを C++ ファイルに変換します。C++ ファイルの名前は RESOURCES 変数に保存されます。

実行ファイルとライブラリはC++ファイルからコンパイルされ、実行可能ファイルの追加そしてライブラリを追加CMakeFiles.txtにあります。「C++プラグイン付きQMLアプリ(cmake)」プロジェクトテンプレートでは、「C++プラグイン」の部分はライブラリを意味します。そのため、CMakeFiles.txtのどこかにライブラリを追加. リソース ファイルはここに追加する必要があります:

add_library(Myappbackend MODULE
    ${Myappbackend_SRCS}
    ${RESOURCES}
)

あるいは、qrcを直接別のライブラリにコンパイルすることもできます。qt5_add_resourcesマクロまたはコンパイルされていない(つまりqt5_add_resourcesまったく不要で、実行時に Qt アプリケーションによって読み込まれます (たとえば、コア ubuntu-terminal-app のソースを参照してください)。

答え2

set(CMAKE_AUTORCC ON)
add_executable(${PROJECT_NAME} ${SRC_LIST} modules/ProjectName/resources.qrc)

関連情報