Информация о версии файла - PullRequest
2 голосов
/ 19 февраля 2010

Как я могу добавить информацию о версии в файл? Обычно это исполняемые файлы, файлы .so и .a.

Примечание: я использую C ++, dpkg-build и Ubuntu 8.10, если какие-либо из них поддерживают это.

Ответы [ 2 ]

1 голос
/ 19 февраля 2010

Исполняемые файлы Linux не имеют информации о версии, как у Windows ... единственный способ, которым я могу думать, это создать статическую символьную строку, которая будет расширена системой отслеживания контроля версий, такой как rcs, cvs, svngit, в котором определенный идентификатор расширяется на основе лица, зарегистрировавшего код, вот пример используемых идентификаторов rcs ...

static char *Id = "$Id$";
static char *Author = "$Author$";

Приведенные выше строки при проверке в ревизиисистема управления, они расширяются в следующий раз, когда ее проверяют ...

static char *Id = "Foo, v1.1, 2009-02-18, 13:13";
static char *Author = "foo";

И используют утилиту ' идент ', которая работает на двоичных файлах, 'идент' ищет Revision ControlСистемные ( rcs ) идентификаторы в двоичном файле.

Надеюсь, это поможет, С уважением, Том.

1 голос
/ 19 февраля 2010

Для общих объектов передайте -Wl,soname,<soname> в gcc или -soname <soname> в ld.

Исполняемые файлы и статические библиотеки не имеют информации о версии как таковой, но вы можете добавить ее к имени файла, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...