Mac OSでQT 5.9.1を使用しています。私のプロジェクトは、C++ロジックとQML UIレイヤーを備えたモバイルアプリケーションです。私の.PROファイルで、私はQT QMLリソースファイルが変更後に再コンパイルされない
資源を持っているので、すべてのQMLファイルは、qml.qrcファイルに含まれています+ = qml.qrc私が使用するすべてのリソースファイルのリストがありqml.qrc
インサイドプロジェクトは、そのような絵、アイコンやQMLファイルとして、QT Creatorで、それはOK表示されます:
あなたは他のファイルがサブフォルダにある場合、いくつかのQMLファイルがqml.qrcのルート・パスに配置されて見ることができるように、例えば"qrc:/ Elements /"。
qml.qrcのルートにあるファイルを変更すると、ビルド、再構築、またはクリーンビルドを押すと通常は再コンパイルされ、変更が反映されます。私のビルドディレクトリの結果としてqml_qrc.cppが表示されます(このファイルには自分のリソースファイルのcpp表現が含まれており、コンパイルに使用されています)ファイルが更新され、変更が適用され、すべて正常です。
ここには、MainPage.qmlリソースファイルのcpp 16進表現で始まるこのファイルの一部です。
/******************************************* ********************* **リソースオブジェクトコード ** **作成者:リソースコンパイラfor Qtバージョン5.9.1 ** **警告!このファイルのすべての変更は失われます! ************************************************* ****************************/
静的const unsigned char qt_resource_data [] = {// /Users/admin/QtProjects/LazuritApp-TEMP/MainPage.qml
..............
0x0,0x0,0x7,0xd1、0x0の、
0x0,0x1e、0xbb、0x78,0x9c、0xd5,0x19,0x5d、0x6f、0xdc、0x36,0xf2,0x7d、0x7fの、0x5,0x6f、 0xb、0x14,0xbb、0x69,0xa2,0xf5,0xae、0xed、0xa4,0xde、0xa0,0x77,0xf0,0xba、0x49,0x63, 0x20,0x45,0xda、0xda、0x68,0x1e 、0xe、0x45,0xc1,0x95,0xa8,0x15,0x2f、0x5a、0x51,0xa5, 0x24,0xdb、0x5b、0xc3,0x40,0xda、0x2,0xed、0x1,0x79,0x28,0x70,0x68,0x71、 0xcf、0xf7, 0xf、0xdc、0xbb、0x6b、0x1b、0x34,0x4d、0xfa 、0x17,0xb4,0xff、0xa8,0x43,0x52,0x5f、0x94、
しかし、私はに位置して、それらのリソースファイルを変更した場合qml_qrc.cppファイルはリフレッシュされないため、Cleanを試しても再構築しなくても、私のリソースファイルは再構築されません。たとえ "qmakeを手動で実行"してから再構築しても。この状況では、ビルドフォルダを手動で削除する(または、より正確にはqml_qrc.cppファイルを削除する)ことが唯一の方法です。それで、 "Build"を押すと、正しいコードを含む新しいqml_qrc.cppファイルが作成され、私のリソースファイルで行った変更が反映されます。
誰かが私を助けたり、なぜこれが起こり、この状況で私は何ができるのですか?手作業を削除して再構築するのは面倒ですが、すべてのリソースファイルをプロジェクトのルートパスに置くことも良い決断ではありません...
私も
更新QMLを貼り付けしようとした
qml_scenes.depends = $$ PWD/QMLファイル/ OrdersPage.qml
qml_scenes.commands = QMAKE_EXTRA_TARGETS + = qml_scenes
hereと記載されていましたが、それは助けになりませんでした。
これはhttps://stackoverflow.com/questions/47810450/why-are-changes-to-the-qml-code-sometimes-not-reflected-when-hitting-run-andの複製であることを確かめてください。 -h。 – Mitch
QMLコードの変更は、「実行」をクリックして解決する方法と反映されないことがあります(https:// stackoverflow。com/questions/47810450/qml-code-changes-to-the-hitting-run-and-h) – eyllanesc
@Mitchを実行しているがqmakeを実行して再構築しても私の助けにならない大文字と小文字の区別はありませんが、サブフォルダ内のリソースファイルにのみ問題が存在することもあります。すべてがOKです。 –