主权

这个目标是什么版本号。

对于共享库 VERSIONSOVERSION 可分别用于指定构建版本和 API 版本。当构建或安装适当的符号链接时,如果平台支持符号链接并且链接器支持 so-names。如果仅指定两者之一,则假定缺少的具有相同的版本号。如果设置了 NO_SONAME 属性,SOVERSION 将被忽略。

Windows 版本

对于 Windows 上的共享库和可执行文件,解析 VERSION 属性以提取 <major>.<minor> 版本号。这些数字用作二进制文件的映像版本。

Mach-O 版本

对于 Mach-O 系统(例如 macOS、iOS)上的共享库和可执行文件,SOVERSION 属性对应于*兼容版本*,而 VERSION 对应于*当前版本*(除非 Mach-O提供了特定的覆盖,如下所述)。有关示例,请参见 FRAMEWORK 目标属性。

对于共享库, MACHO_COMPATIBILITY_VERSIONMACHO_CURRENT_VERSION 属性可用于分别覆盖*兼容版本*和*当前版本*。请注意,SOVERSION 仍将用于形成 install_name 并且 SOVERSIONVERSION 也可能影响文件和符号链接名称。

可以使用“otool -L <binary>”命令检查 Mach-O 二进制文件的版本。