前言
在软件安装时,可能经常需要依赖其它软件,这时候会判断其它软件的版本号,判断版本号就成了个问题,一般版本就都是xx.xx.xx之类的。
怎么判断呢,在Qt的版本判断里有个很好的案例
内容
看Qt代码main.cpp里第一行代码
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
再去看下 QT_VERSION
QT_VERSION_CHECK
宏定义 就很容易理解了
/*
QT_VERSION is (major << 16) + (minor << 8) + patch.
*/
#define QT_VERSION QT_VERSION_CHECK(QT_VERSION_MAJOR, QT_VERSION_MINOR, QT_VERSION_PATCH)
/*
can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0))
*/
#define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch))
#define QT_VERSION_STR "5.15.2"
#define QT_VERSION_MAJOR 5
#define QT_VERSION_MINOR 15
#define QT_VERSION_PATCH 2
通过宏定义将版本号 位或 在一起进行再比较