編譯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庫的問題