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))
工作正常。这就是让我哭泣的原因,因为我真的不明白这是怎么回事。
咦!我找到了解决方案,这听起来像是 给自己买点脑子。我认为,每次更改项目文件时都会启动 qmake
(message
命令的输出证明了我的想法),但这并不是 Qt 中事情发生的真正方式。
我不知道具体怎么做,但它解析了 .pro 文件,只做了一些必要的操作,正如我所看到的 system()
(这是将要更改一些文件),write_file()
命令似乎没有被调用。
解决方案 非常简单:使用 Build - Launch qmake
.
本机启动 qmake
我在尝试将 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))
工作正常。这就是让我哭泣的原因,因为我真的不明白这是怎么回事。
咦!我找到了解决方案,这听起来像是 给自己买点脑子。我认为,每次更改项目文件时都会启动 qmake
(message
命令的输出证明了我的想法),但这并不是 Qt 中事情发生的真正方式。
我不知道具体怎么做,但它解析了 .pro 文件,只做了一些必要的操作,正如我所看到的 system()
(这是将要更改一些文件),write_file()
命令似乎没有被调用。
解决方案 非常简单:使用 Build - Launch qmake
.