相关疑难解决方法(0)

在任何编译之前的qmake预构建步骤

有关如何创建预构建步骤的SO有几个问题qmake,我可以在我的.pro文件中执行此操作:

versionTarget.target = ../VersionData/versioning.h
versionTarget.depends = FORCE
win32: versionTarget.commands = cd $$PWD; python.exe ./version_getter.py -p $$TARGET
else:  versionTarget.commands = cd $$PWD; python ./version_getter.py -p $$TARGET

PRE_TARGETDEPS += ../VersionData/versioning.h
QMAKE_EXTRA_TARGETS += versionTarget
Run Code Online (Sandbox Code Playgroud)

现在,问题是这种方法本身不是构建步骤,而只是另一个构建目标,所以如果我-j为其配置了标志,make则与其他构建作业并行运行我的脚本.这非常糟糕,因为我的脚本创建/更新了一个头文件 - 让它在编译过程中改变是不可接受的.

那么,无论如何我可以在任何编译运行之前执行此脚本吗?我知道我可以创建另一个脚本,并调用version_getter.pyqmake从该序列,但是这是不可取的,因为我将不得不在命令行而不是Qt Creator的范围内进行编译.


更新

.pri每个子项目包含的完整文件如下:

CONFIG += thread
QT += core \
      gui

versionTarget.target = ../VersionData/versioning.h
versionTarget.depends = FORCE
win32: versionTarget.commands = cd $$PWD; python.exe ./version_getter.py -p $$TARGET
else:  versionTarget.commands …
Run Code Online (Sandbox Code Playgroud)

qt qmake

23
推荐指数
2
解决办法
2万
查看次数

标签 统计

qmake ×1

qt ×1