【问题标题】:Any way to set version of a binary built with g++?有什么方法可以设置用 g++ 构建的二进制文件的版本吗?
【发布时间】: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 提取这些字符串,以获取用于构建二进制文件的所有目标文件的列表。我认为这种做法在上千年就停止了。

标签: c++ g++


【解决方案1】:

在 Linux 环境中没有 ELF 文件版本之类的东西,但这个答案可以帮助您解决它Does gcc have any options to add version info in ELF binary file?

【讨论】:

  • 感谢您的信息。小东西似乎很麻烦。我认为如果程序在您使用“--version”标志运行时输出版本可能会更容易。理想情况下,我根本不需要运行该程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-05
  • 1970-01-01
相关资源
最近更新 更多