Ice header files include the definitions of three macros that expand to the version of the Ice run time:
#define ICE_STRING_VERSION "3.7.2" // "<major>.<minor>.<patch>" #define ICE_INT_VERSION 30702 // AABBCC, with AA=major, // BB=minor, CC=patch #define ICE_SO_VERSION "37"
ICE_STRING_VERSION
is a string literal in the form <major>.<minor>.<patch>
, for example, 3.7.2
. For alpha and beta releases, this string version is <major>.<minor>[a|b]<number>
, for example, 3.7a3
.
ICE_INT_VERSION
is an integer literal in the form AABBCC
, where AA
is the major version number, BB
is the minor version number, and CC
is the patch level, for example, 30602
for version 3.6.2. For alpha and beta releases, the patch level is set to 5x (alphas) or 6x (betas) so, for example, for version 3.7a3, the value is 30753
.
ICE_SO_VERSION
is a string that contains the version in the soname for the Ice library. For releases, it's in the form "36" or "37", without the patch version number. For alpha and beta releases, it's identical to ICE_STRING_VERSION
but without a dot.