qmake 手册记录了touch
更新文件时间戳的函数,请参阅:触摸(文件名,参考文件名) http://doc.qt.io/qt-5/qmake-test-function-reference.html#touchfunction。推荐here https://stackoverflow.com/questions/5946896/how-to-execute-shell-command-after-compile-finished-from-pro-in-qt/5948236#5948236更新文件上的时间戳,例如:
version.commands = touch $$version.target
注意:qmake 手册记录了两个参数,例如:
version.commands = touch $$version.target $$version.depends
但是,我无法得到touch
使用任一调用在 Windows 上工作的函数。我怀疑qmake
只是简单地调用linux
touch http://www.linfo.org/touch.html命令,因为它在 Fedora 23 上运行良好。
解决方法是创建一个touch.cmd
Windows 上的命令文件,例如:
@COPY /B %1+,, %1
并在中使用以下内容.pro
file:
version.commands = $$system(touch $$version.target)
但我更喜欢使用 qmaketouch
功能...
在 a 中调用它的正确方法是什么.pro
文件以便在 Windows 上运行?
在使用 qmake 时,记住调用 qmake 时发生的情况以及后续 make/nmake 调用期间发生的情况至关重要。
之后指定的任何内容version.commands =
当 make 被调用时将被执行。
另一方面,touch()
是一个 qmake 函数,当您运行 qmake 时将调用该函数。
截至目前,查看 Qt 源代码 dev 分支,Qt 本身内只有 4 次使用 touch(),全部都在qtbase/mkspecs/features
目录,并且没有在 a 的上下文中.commands
构造。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)