c++ - 在 qmake 期间检测修改的文件

标签 c++ qt build makefile qmake

qt 如何检测构建是否必要,例如是否是源文件或在我的情况下是资源文件(.qrc) 上次构建后是否被修改?每个文件都有一个标志吗? 我真正想做的是,通过将其添加到 .pro 文件来发送用于资源编译的系统命令:

system(rcc -binary -no-compress resource.qrc -o resource.rcc)

并且我只想在上次 qmake 之后修改了 resource.qrc 文件时才执行此操作。这可能吗?如何实现?

最终版本应该是:

if(RESOURCE_MODIFIED) {
   COMPILE RESOURCE
}

最佳答案

正如另一个回答discussion ,完整正确答案如下代码:

mytarget.target = resource.rcc
mytarget.commands = rcc -binary -no-compress resource.qrc -o resource.rcc
mytarget.depends = resource.qrc

QMAKE_EXTRA_TARGETS += mytarget
PRE_TARGETDEPS += resource.rcc

这样,只有在修改 .qrc 文件并且编译应用程序时自动执行 make 时,才会重建自定义目标。

关于c++ - 在 qmake 期间检测修改的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35769001/

相关文章:

linux - qgetenv 返回 NULL

使用 Bazel 构建 ROS 节点

java - 在 pom.xml 中排列配置文件和插件

c# - 在非托管 cpp dll 中实现 C# 接口(interface)

c++ - 为什么设备代码中推力::reduce的迭代范围限制为2048个 double ?

c++ - 在 Qt Creator 中链接 EGL?

c++ - QObject的多重继承

c++ - 在 Fedora 18 上针对 Centos 6.4 进行交叉编译

c++ - Rust 位域和枚举 C++ 风格

android - 如何从基于Android Studio的Gradle中的文件动态添加构建类型?