如何在autoconf configure script/makefile中添加指向库的链接

And*_*asT 15 autoconf gcc boost autotools

我是一个autotools newb,我很难弄清楚如何轻松地将特定库链接到一个配置的目标.

我有一个源代码包,我想以通常的方式构建:./ configure && make && make install

不幸的是,其中一个cpps缺少对另一个库的引用.手动编译(调整命令行)有效.但我宁愿"修补"编译脚本.编辑链接参考的标准位置在哪里?

 undefined reference to `boost::system::get_system_category()
Run Code Online (Sandbox Code Playgroud)

那是我的错误信息btw.

Bra*_*den 18

您需要将有关加-l标志AM_LDFLAGSMakefile.am; 例如:

AM_LDFLAGS = -lboost_system-mt
Run Code Online (Sandbox Code Playgroud)

请注意,Boost库通常以后缀结尾 - 一系列字母表示构建配置.在上面的例子中,后缀是-mt.这可能与您的安装有所不同(尽管该-mt变体通常可在POSIXy系统上使用,IME).

我做这样的事情:

AM_LDFLAGS = -lboost_system$(BOOST_LIB_SUFFIX)
Run Code Online (Sandbox Code Playgroud)

BOOST_LIB_SUFFIX是一个宝贵的变量(见AC_ARG_VAR),默认为-mt.