整个项目都需要版本号;在安装程序、代码、工具链等中。我鄙视重复。我希望我的版本号存储在一个中央权威位置。
我正在使用 C/C++ 并在各种平台上使用 Qt。在 Qt 中,qmake 项目指定版本号,例如:
VERSION = 1.2.3
在代码中,我在像 Version.h 这样的标题中使用类似的东西:
#define VERSION_MAJ 1
#define VERSION_MIN 2
#define VERSION_REV 3
#define VERSION_STRING \"VERSION_MAJ\" "." \"VERSION_MIN\" "." \"VERSION_REV\"
我的安装程序工具链支持 C 预处理,因此我可以使用 Version.h 中指定的相同版本。但是,我不知道如何让 qmake 使用相同的版本号。我以为我可以预处理 pro 文件,但这不起作用,因为 # 字符意味着 pro 文件中的注释并且 C 预处理器会失败。
有人知道保持我的版本号集中的好方法吗?
最佳答案
我在我的构建系统中使用了这样的东西
#.pro file
#Application version
VERSION_MAJOR = 1
VERSION_MINOR = 0
VERSION_BUILD = 0
DEFINES += "VERSION_MAJOR=$$VERSION_MAJOR"\
"VERSION_MINOR=$$VERSION_MINOR"\
"VERSION_BUILD=$$VERSION_BUILD"
#Target version
VERSION = $${VERSION_MAJOR}.$${VERSION_MINOR}.$${VERSION_BUILD}
之后,您可以在应用程序中使用 VERSION_MAJOR 和其他作为普通宏。
关于qt - Qt 项目中的版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13317249/