qmake 的 write_file() 和 system() 不想制作文件

qmake's write_file() and system() doesn't want to make a file

我在尝试将 smth 写入另一个文件时遇到了 qmake 的奇怪行为。我阅读了所有可能的手册并搜索了互联网,但没有发现任何类似的东西。更接近最简单的代码:

!system(echo 1 > d:.txt) {
  warning(Cant create a file)
}

它没有创建文件,也没有显示警告,这意味着操作成功。另一个例子:

var = test string
file = $$absolute_path(d:.txt)
message(Variable: $$var and filename: $$file)
!write_file($$pathBat, pathtowrite) {
  warning(Cant create a file)
}

这个块产生输出: Project MESSAGE: Variable: test string and filename: d:/1.txt

关于文件 创建的事实没有任何说明。

我已经检查了写入目录的权限:一切正常。

谁能帮我解决这个问题?

更新: 我发现了其他东西:message($$system(echo 1 > 1.txt)) 工作正常。这就是让我哭泣的原因,因为我真的不明白这是怎么回事。

咦!我找到了解决方案,这听起来像是 给自己买点脑子。我认为,每次更改项目文件时都会启动 qmakemessage 命令的输出证明了我的想法),但这并不是 Qt 中事情发生的真正方式。

我不知道具体怎么做,但它解析了 .pro 文件,只做了一些必要的操作,正如我所看到的 system() (这是将要更改一些文件),write_file() 命令似乎没有被调用。

解决方案 非常简单:使用 Build - Launch qmake.

本机启动 qmake