Cygwin64下编译liblo时如何为libtool正确添加-no-undefined参数
快速解决方案(无需修改项目源码)
直接在执行configure命令时传入LDFLAGS参数即可,完整操作流程如下:
wget http://downloads.sourceforge.net/liblo/liblo-0.31.tar.gz tar xzvf liblo-0.31.tar.gz cd liblo-0.31 ./configure LDFLAGS="-no-undefined" make
该方案适合临时编译使用,无需改动项目的任何配置文件。
永久修改项目配置方案
你之前修改全局AM_LIBTOOLFLAGS、AM_LDFLAGS不生效,是因为liblo项目为liblo.la目标单独指定了专属链接参数,优先级高于全局AM前缀的配置项,修改方法如下:
- 打开项目根目录的
Makefile.am文件,找到liblo_la_LDFLAGS配置行 - 在该行的末尾追加
-no-undefined,修改后示例如下:
liblo_la_LDFLAGS = -version-info 10:0:2 -no-undefined
- 保存文件后执行完整的构建脚本更新命令,不要仅执行automake:
autoreconf -fvi ./configure make
修改后后续重新生成构建脚本时配置也会生效。
内容的提问来源于stack exchange,提问作者sdbbs
相关产品推荐
相关产品推荐

