在Debian系统上构建Metakit C++绑定静态版本的方法咨询
在Debian系统上构建Metakit C++绑定静态版本的方法咨询
我来帮你梳理下在Debian上构建Metakit静态库的可行方案,这类基于autotools的开源项目,通常有几个不用大改源码就能生成静态库的途径:
优先尝试给
configure脚本添加静态库相关的编译参数,这是最省心的方式:- 先清理之前的构建残留文件,避免旧配置干扰:
make distclean - 重新执行配置命令,启用静态库编译:
./configure --enable-static --prefix=/usr/local- 要是你只需要静态库,还可以加上
--disable-shared参数,这样编译过程就只会生成.a格式的静态库
- 要是你只需要静态库,还可以加上
- 接着正常执行编译和安装:
make && make install
完成后去你指定的安装目录(比如默认的/usr/local/lib)里,应该就能找到对应的静态库文件了
- 先清理之前的构建残留文件,避免旧配置干扰:
如果上面的参数不生效,那可以手动调整项目的构建配置文件:
打开项目根目录下的Makefile.am或者生成后的Makefile.in,找到和库编译相关的配置项(比如lib_LTLIBRARIES对应的条目),给目标库的LDFLAGS加上静态编译的参数,比如libmk_la_LDFLAGS = -all-static,修改后重新执行./configure和后续的编译安装步骤还有个小技巧:直接查看Makefile里的可用目标,执行
make help或者直接打开Makefile搜索.a相关的目标,有些项目会单独提供生成静态库的目标,比如make libmk.a,直接执行这个命令就能快速生成对应的静态库
内容来源于stack exchange
相关产品推荐
相关产品推荐

