使用GNU libtool创建静态库和共享库?

Moh*_*nde 6 autotools shared-libraries static-libraries libtool

我正在为我的项目使用GNU autotools(包括automake!).我想知道是否可以使用libtool创建静态库和共享库?或者声明是否分开?这会是:

LT_INIT(shared static)
Run Code Online (Sandbox Code Playgroud)

工作?

use*_*515 11

除此之外LT_INIT不需要任何东西,它默认构建静态库和共享库.如果你愿意,你可以再次明确说明默认值(但它有点多余)

LT_INIT
AC_ENABLE_SHARED
AC_ENABLE_STATIC

编辑:手册说LT_INIT([shared])LT_INIT([static])(结合起来也LT_INIT([shared static])应该工作.手动更精确的说明默认LT_INIT是什么时候: 如果它们可用,这个宏打开共享库,如果它们不与共享库冲突,也启用静态库.

  • 除非configure.ac运行a,例如`AC_DISABLE_STATIC`,否则它将默认构建两者.例如,可以使用`./configure --enable-static`来对抗`AC_DISABLE_STATIC`.那么`configure.ac`中的内容确实是开发人员对其用户的建议. (2认同)