Home Help Center

slice2cpp generated code and Ice versions

phil++phil++ Member Philip KovacsOrganization: University of PennsylvaniaProject: Ice Storm Evaluation
Here's a snippet of preprocessor code output by slice2cpp:
#ifndef ICE_IGNORE_VERSION
#   if ICE_INT_VERSION / 100 != 303
#       error Ice version mismatch!
#   endif
#   if ICE_INT_VERSION % 100 > 50
#       error Beta header file detected
#   endif
#   if ICE_INT_VERSION % 100 < 0
#       error Ice patch level mismatch!
#   endif
#endif

This code requires an exact match of Ice major and minor versions when compiling slice-generated code (in this case version 3.3.0) while permitting (possibly mismatched) patch versions, as long as the patch range is 0 to 50 (51 I believe is your beta).

Would it be correct, then, to consider the Ice "ABI" level as the the major and minor version (at least w.r.t. generated source code)? Is that your intention?

Comments

  • matthewmatthew NL, CanadaMember Matthew NewhookOrganization: ZeroC, Inc.Project: Internet Communications Engine ✭✭✭
    Correct. All patch level versions are binary compatible. For example, 3.3.0 and 3.3.1 are fully binary compatible. 3.3 and 3.2 are not.
Sign In or Register to comment.