Я использую утилиту сканирований для генерации совместно использованных библиотек. Когда я пишу следующее правило:
SharedLibrary ('привет', 'hello.c')
Я получил бы ''libhello.so'' файл.
Существует ли способ получить файлы как ''libhello.so.version'' автоматически?
Вы можете использовать libtool для создания разделяемых библиотек и управления версиями . К сожалению, вам придется самостоятельно интегрировать libtool с SCons, поскольку это не встроено в программное обеспечение. Причина, конечно, в том, что libtool зависит от платформы.
В качестве дешевой альтернативы вы можете переопределить env ['SHLIBSUFFIX'] на что-то вроде:
Replace(SHLIBSUFFIX = '.so.$SHLIB_VERSION')
Затем вы можете переопределить конструктивную переменную $ SHLIB_VERSION независимо для каждой цели:
SharedLibrary('hello', 'hello.c', SHLIB_VERSION = 1)