Я использую автоинструменты GNU (включая automake!) для своего проекта. Я хотел бы знать, могу ли я создать статическую и общую библиотеку с помощью libtool? Или объявления будут отдельными? Будет ли это:
LT_INIT(shared static)
Работа?
Я использую автоинструменты GNU (включая automake!) для своего проекта. Я хотел бы знать, могу ли я создать статическую и общую библиотеку с помощью libtool? Или объявления будут отдельными? Будет ли это:
LT_INIT(shared static)
Работа?
Ничего, кроме LT_INIT
, не требуется, по умолчанию создаются как статические, так и разделяемые библиотеки. Если хотите, вы можете снова явно указать значения по умолчанию (но это как бы избыточно)
LT_INIT AC_ENABLE_SHARED AC_ENABLE_STATIC
редактирование: в руководстве указано, что LT_INIT([shared])
и LT_INIT([static])
(в сочетании с LT_INIT([shared static])
также должны работать. Также более точная формулировка в руководстве о том, что используется по умолчанию, когда задано LT_INIT
: этот макрос включает общие библиотеки, если они доступны, а также включает статические библиотеки, если они не не конфликтовать с общими библиотеками.
AC_DISABLE_STATIC
, по умолчанию будут собраны оба. AC_DISABLE_STATIC
можно противопоставить, например, ./configure --enable-static
. Итак, то, что есть в configure.ac
, на самом деле является предложением разработчика для пользователей.
- person user502515; 01.12.2010