从Qt的pro文件中获取值

19

我正在使用 Windows XP 中的 Qt 4.5。我的pro文件有变量 VERSION = 1.0。现在,我需要从源代码中读取此变量并获取其值(1.0)。这样我就不必在源代码中维护另一个版本变量。我只需从pro文件中读取并更新它,以确保整个项目中的值保持一致。这是否可能?欢迎提供任何相关指针。

3个回答

21

可以像这样使用:

DEFINES += VERSION=\\\"$$VERSION\\\"

这将定义一个你可以在 C 源代码中使用的宏。如果你想得到一个数字,而不是一个字符串,请去掉反斜杠和引号。


8
我会详细解释一下。
YourApp.pro文件中:
VERSION = 0.0.0.1
DEFINES += APP_VERSION=\\\"$$VERSION\\\"

main.cpp文件中:
#include <QApplication>
QCoreApplication::setApplicationVersion(QString(APP_VERSION));

在你的其他来源中,比如虚构的controller.cpp文件:

#include <QApplication>
QString yourAppVersion = QCoreApplication::applicationVersion();

0
一些问题,当我在class.cpp中尝试使用qDebug() << QString(APP_VERSION)时,出现了一个错误"C2065" APP_VERSION: 未声明的标识符。但是当我在main.cpp中尝试时,它可以正常工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接