【发布时间】:2019-11-08 20:08:59
【问题描述】:
有什么方法可以设置在 Linux 上使用 g++ 构建的二进制文件的版本号?我知道在 Windows 上这在 Visual Studio 的项目设置中很容易,但你能在 Linux 上做到吗?我使用 eclipse 作为我的 IDE。
【问题讨论】:
-
构建的二进制文件的版本号是多少?
-
我的意思是文件版本号
-
没有像 "file vwrsion number" 这样的东西 除非你引入一些像 SVN 之类的存储库数据库。
-
您的意思是共享库的
soname(包括版本)吗?通用 ELF 可执行文件不包含可执行 AFAIK 的任何标准化“版本号”。但是,您可以在自定义 ELF 标头或部分中嵌入您喜欢的任何信息,供您自己使用 - 只是不要指望其他人会注意它。 -
过去,人们使用
rcs版本控制系统并将字符串放入每个.c文件中,例如static char const rcsid[] = "$Id: f.c,v 5.4 1993/11/09 17:40:15 eggert Exp $";。稍后可以使用ident binary提取这些字符串,以获取用于构建二进制文件的所有目标文件的列表。我认为这种做法在上千年就停止了。