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



在尝试将smith写入另一个文件时,qmake出现了奇怪的行为。我阅读了所有可能的手册,并在互联网上搜索,但没有发现任何相似之处。接近最简单的代码:

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

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

var = test string
file = $$absolute_path(d:1.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))工作得很好。这就是让我哭泣的原因,因为我真的不明白发生了什么。

哈!我找到了解决方案,它可能听起来像给自己买一些大脑。我认为,qmake每次项目文件更改时都会启动(message命令的输出证明了我的想法),但这并不是Qt中真正发生的事情。

我不知道具体是怎么回事,但是它解析。pro文件,只做一些必要的操作,并且我可以看到system()(它将改变一些文件),write_file()命令似乎没有被调用。

解决方案非常简单:使用Build - Launch qmake本地启动qmake。

相关内容

  • 没有找到相关文章

最新更新