编译Linux程序时,使用configure.ac生成的configure程序,时常会出现AC_CHECK_LIB检查某个库失败
而相应库通常是存在的,只是依赖于其他的库,此时,需要乃至AC_CHECK_LIB的other_libs参数
比如将,
AC_CHECK_HEADERS([usrsctp.h], [AC_CHECK_LIB([usrsctp], [usrsctp_init], [with_sctp="yes"; USRSCTP_LIBS="-lusrsctp -lpthread"], [with_sctp="no"])],[with_sctp="no"] )
修改为:
AC_CHECK_HEADERS([usrsctp.h], [AC_CHECK_LIB([usrsctp], [usrsctp_init], [with_sctp="yes"; USRSCTP_LIBS="-lusrsctp -lpthread"], [with_sctp="no"] ,["-lpthread"])],[with_sctp="no"] )
就能解决usrsctp包依赖于pthread库,导致的编译前找不到usrsctp库的问题