int compare(const Version &lhs, const Version &rhs) { if (lhs.majorVersion() < rhs.majorVersion()) return -1; if (lhs.majorVersion() > rhs.majorVersion()) return 1; if (lhs.minorVersion() < rhs.minorVersion()) return -1; if (lhs.minorVersion() > rhs.minorVersion()) return 1; if (lhs.patchLevel() < rhs.patchLevel()) return -1; if (lhs.patchLevel() > rhs.patchLevel()) return 1; if (lhs.buildNumber() < rhs.buildNumber()) return -1; if (lhs.buildNumber() > rhs.buildNumber()) return 1; return 0; }