AC_SEARCH_LIBS 找不到我的图书馆
AC_SEARCH_LIBS is not finding my library
我目前正在学习 autotools 并且一直在努力弄清楚如何使用 AC_SEARCH_LIBS 所以我从 glib 手册中随机选择了一个 function 来包含在我的 c 项目中:
gint g_ascii_digit_value (gchar c);
接下来我向 configure.ac
添加了一个 AC_SEARCH_LIBS
宏:
AC_INIT([myproject], [123], [me@example.com])
AC_SEARCH_LIBS([g_ascii_digit_value], [glib], [], [
AC_MSG_ERROR([unable to find the g_ascii_digit_value() function])
])
AM_INIT_AUTOMAKE
AC_PROG_CC
AC_OUTPUT([Makefile src/Makefile])
但是,当我 运行 autoreconf -i
后跟 ./configure
时,我得到错误:
configure: error: unable to find the g_ascii_digit_value() function
我正在使用 OS X 并检查我是否安装了 glib 库:
snowch:autoconf snowch$ brew install glib
Warning: glib-2.42.1 already installed
我做错了什么?
经过一番搜索,我发现我需要使用 PKG_CHECK_MODULES
,如下所示:
AC_INIT([myproject], [123], [me@example.com])
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.3.0])
AC_SUBST([GLIB_CFLAGS])
AC_SUBST([GLIB_LIBS])
AM_INIT_AUTOMAKE
AC_PROG_CC
AC_OUTPUT([Makefile src/Makefile])
然后 GLIB
变量需要添加到 src/Makefile.am
:
bin_PROGRAMS = helloworld
helloworld_SOURCES = main.c
helloworld_LDADD = @GLIB_LIBS@
helloworld_CFLAGS = @GLIB_CFLAGS@
我目前正在学习 autotools 并且一直在努力弄清楚如何使用 AC_SEARCH_LIBS 所以我从 glib 手册中随机选择了一个 function 来包含在我的 c 项目中:
gint g_ascii_digit_value (gchar c);
接下来我向 configure.ac
添加了一个 AC_SEARCH_LIBS
宏:
AC_INIT([myproject], [123], [me@example.com])
AC_SEARCH_LIBS([g_ascii_digit_value], [glib], [], [
AC_MSG_ERROR([unable to find the g_ascii_digit_value() function])
])
AM_INIT_AUTOMAKE
AC_PROG_CC
AC_OUTPUT([Makefile src/Makefile])
但是,当我 运行 autoreconf -i
后跟 ./configure
时,我得到错误:
configure: error: unable to find the g_ascii_digit_value() function
我正在使用 OS X 并检查我是否安装了 glib 库:
snowch:autoconf snowch$ brew install glib
Warning: glib-2.42.1 already installed
我做错了什么?
经过一番搜索,我发现我需要使用 PKG_CHECK_MODULES
,如下所示:
AC_INIT([myproject], [123], [me@example.com])
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.3.0])
AC_SUBST([GLIB_CFLAGS])
AC_SUBST([GLIB_LIBS])
AM_INIT_AUTOMAKE
AC_PROG_CC
AC_OUTPUT([Makefile src/Makefile])
然后 GLIB
变量需要添加到 src/Makefile.am
:
bin_PROGRAMS = helloworld
helloworld_SOURCES = main.c
helloworld_LDADD = @GLIB_LIBS@
helloworld_CFLAGS = @GLIB_CFLAGS@