当我使用Qt Creator创建Qt Quick / QML项目时,它会将DEPLOYMENTFOLDERS添加到.pro文件中。我可以使用这个指令在构建(编译)应用程序时将一些文件夹/文件复制到构建目录。
如何在基于Qt Widget的简单应用程序中使用它?
Qt Creator不会为简单的Qt项目添加它,当我手动执行它时,它不起作用。
这是我的项目文件:
folder_01.source = sounds
#folder_01.target =
DEPLOYMENTFOLDERS += folder_01
QT += core gui widgets
TARGET = myApp
TEMPLATE = app
SOURCES += main.cpp
我尝试了“/ sounds”和“sounds / *”并且这样想。但没有任何作用。我在这里缺少什么?
答案 0 :(得分:4)
我正在研究这个问题并偶然发现了这个悬而未决的问题。
基本上我提倡使用资源系统但是当你进行快速UI开发(qml)等待资源文件编译时可能会让人感到恼火,所以我想简单地复制这些文件。
这里令人困惑的是源/目标意味着略有不同的东西。描述它的最佳方式是copy this -> this root
,而不是copy this -> here
我的构建只是希望我的资源在路径上“原始”,所以我正在复制folder->/
这是我的项目文件的一个例子:
folder_qml.source = qml
folder_qml.target = /
folder_js.source = js
folder_js.target = /
folder_img.source = img
folder_img.target = /
DEPLOYMENTFOLDERS += folder_qml folder_js folder_img
构建时,您可以验证输出:
10:41:57: Starting: "C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe"
C:/Qt/Qt5.2.1/Tools/mingw48_32/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'C:/Development/Subversion/MyBuild-Desktop_Qt_5_2_1_MinGW_32bit-Debug'
Copying application data...
60 File(s) copied
12 File(s) copied
6 File(s) copied
mingw32-make[1]: Leaving directory 'C:/Development/Subversion/MyBuild-Desktop_Qt_5_2_1_MinGW_32bit-Debug'
Copying application data...
60 File(s) copied
12 File(s) copied
6 File(s) copied
10:41:58: The process "C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe" exited normally.
生成的构建如下:
/Build dir/
+ release
+ debug
+ qml
+ js
+ img
Makefile.Release
Makefile.Debug
Makefile
我希望这有助于回答你的问题。我没有找到任何文档,所以我只是玩它直到它工作。 (对于测试的模拟数据非常有帮助。)
答案 1 :(得分:1)
我刚刚完成了文档(适用于4.8& 5.x),并且qmake
部分中没有该变量的文档,所以看起来它纯粹是qml
。如果您尝试以通常的方式编译资源,则使用qrc
文件来指定资源,不确定为什么Qt决定仅将DEPLOYMENTFOLDERS
更改为qml
。< / p>