autotools自动编译---手动添加依赖库

autotools根据配置文件(configure.ac)自动生成makefile

1
2
3
4
./autogen.sh  #根据configure.ac生成configure与相关头文件
./configure --prefix=$ALT_LOCAL --enable-debug
make -j4
make install

在现有应用中添加SDL的依赖

将gcc的编译参数-lSDL2,添加到configure生成的Makefile,并可以在配置阶段检测系统是否以安装SDL2相关库

修改configure.ac

添加对SDL2库的检测

1
PKG_CHECK_MODULES([SDL2], [sdl2])

执行autogen.sh生成configure和config.log等,在config.log中将生成:

1
2
SDL2_CFLAGS='-D_REENTRANT -I/usr/include/SDL2'
SDL2_LIBS='-lSDL2'

编辑Makefile.am

修改需要链接SDL2的源码目录中的Makefile.am

1
2
AM_LDFLAGS = $(SDL2_LIBS)
AM_CFLAGS = $(SDL2_CFLAGS)

make参数

1
make -j4 --trace

--trace: 打印gcc编译的详细数据

参考

  • autotools自动编译系列之三—autogen.sh实例