我编写了一个需要访问大量资源的应用程序。
我的.pro文件与同一级别的文件夹包含其他包含资源的文件夹:
Project Directory
app.pro
Resources
ResourceDirA
ResourceA0.png
ResourceA1.png
...
ResourceDirB
ResourceB0.png
ResourceB1.png
...
...
在我的.pro文件中,我有代码
macx {
resources.files = "Resources"
resources.path = Contents/Resources
QMAKE_BUNDLE_DATA += resources
}
当我删除构建目录并重建时,这很好用。但是,当我已经构建并将一个文件添加到其中一个子目录(ResourceA2.png或其他)并重建时,新文件不会传输到应用程序包。
有没有办法确保检查和更新新文件,或者至少有一种方法可以在每次构建项目时强制重建整个包?
答案 0 :(得分:1)
您的问题是由于qmake + make组合中存在固有限制,如果有的话,它应该可以与qbs解决。
以下是它的工作原理:
qmake扫描Resources
目录并在Makefile中生成复制操作
将Makefile中列出的副本文件复制到应用程序包
您需要按顺序运行qmake和make,以查找新文件并将其复制到。
没有任何东西可以放在Makefile中,缺少特殊脚本,可以检测Resources
文件夹中的更改并强制重新运行地震。显然,Makefile中的操作不是复制整个文件夹,而是仅复制单个文件,或者,如果任何当前已知的文件已过期,则可能复制该文件夹。在任何一种情况下,make都会忽略新文件。