Articles of autotools

自动工具语法错误与ax_check_compile_flag

我正在使用autotools来构build我的C ++应用程序。 在我的configure.ac中,我有以下行: AX_CHECK_COMPILE_FLAG([-Wall], [CPPFLAGS="$CPPFLAGS -Wall"]) 这在执行./configure时会导致以下错误(在运行autoreconf -i之后 ): ./configure: line 3825: syntax error near unexpected token `-Wall,' ./configure: line 3825: `AX_CHECK_COMPILE_FLAG(-Wall, CPPFLAGS="$CPPFLAGS -Wall")' 我的系统: Linuxnetworking3.2.0-4-amd64#1 SMP Debian 3.2.65-1 + deb7u2 x86_64 GNU / Linux 在我的Ubuntu机器上,它运作良好,为什么我得到这个错误?

Autoconf检查struct flock

fcntl()使用struct flock结构来定义和检查文件locking。 不幸的是,在不同的Unix系统中,这个结构中的字段顺序不同。 有谁知道如何用autoconf检查它,或者至less检查结构是否是特定的格式(例如问题是 – 结构格式是否与Linux格式匹配)?

在不安装包的情况下预览手册页

我已经检查了一些使用自动工具的典型的开源项目。 我想在这个软件包上进行一些修改,但是我也想在软件包的man-page中改变一些东西。 man-page的源代码是project-name / doc / project-name.1。 我只做了一个小小的改动,现在我想预览一下这个改变,而不必实际做一个项目的make install。 我怎么做? 我尝试了这样的东西: man -M . 1 project-name 但它不起作用,我试过的各种变化也没有。 这听起来像一个简单的问题,但我似乎无法find任何search问题,所以我希望有人在这里可以帮助我。 谢谢。

错误:使用Libtool库,但'LIBTOOL'未定义

我正在尝试automake OrientDb C ++库,但得到一些错误。 Makefile.am:10: error: Libtool library used but 'LIBTOOL' is undefined Makefile.am:10: The usual way to define 'LIBTOOL' is to add 'LT_INIT' Makefile.am:10: to 'configure.ac' and run 'aclocal' and 'autoconf' again. Makefile.am:10: If 'LT_INIT' is in 'configure.ac', make sure Makefile.am:10: its definition is in aclocal's search path. https://github.com/tglman/orientdb-c https://github.com/tglman/orientdb-c/wiki/Install 我已经configure.ac和Makefile.am已经定义。 我运行以下autotools aclocal会 和autoheader […]

便利库中的符号不​​能以可执行文件导出

我有一个程序myprogram ,它与一个静态便利库链接,称之为libconvenience.a ,其中包含一个函数func() 。 函数func()在myprogram任何地方都没有调用。 它需要能够从插件库plugin.so 。 符号func()不会在myprogramdynamic导出。 如果我跑 nm myprogram | grep func 我什么也得不到 但是,它不是从libconvenience.a丢失的: nm libconvenience/libconvenience.a | grep func 00000000 T func 我正在使用automake,但是如果我在命令行上手动执行最后一个链接步骤,则它也不起作用: gcc -Wl,–export-dynamic -o myprogram *.o libconvenience/libconvenience.a `pkg-config –libs somelibraries` 但是,如果我像这样链接程序,跳过使用便利库并直接连接到libconvenience.a的目标文件, func()显示在myprogram的符号中,如下所示: gcc -Wl,–export-dynamic -o myprogram *.o libconvenience/*.o `pkg-config –libs somelibraries` 如果我在myprogram某个地方添加了一个虚func()给func() ,那么func()也会出现在myprogram的符号中。 但是我认为–export-dynamic应该导出所有符号,不pipe它们是否在程序中使用! 我在Fedora 14上使用automake 1.11.1和gcc 4.5.1。我也使用Libtool 2.2.10构buildplugin.so (但不是便利库)。 我没有忘记在myprogram_LDFLAGS中libconvenience_a_SOURCES […]

进行安装,但不是默认目录?

我想运行“make install”,所以我有我需要的一切,但我想它安装在自己的文件夹中的东西,而不是系统的/ usr / bin等是可能的吗? 即使它引用/ usr / bin等工具?

Linphoneconfiguration会导致多个未定义的Autotoolsmacros

我已经下载了Linphone开源并使用MINGW构build。 我遵循README.mingw给出的步骤。 当我使用命令“./autogen.sh”时,出现以下错误。 + aclocal -I m4 -I /usr/local/share/aclocal -I /share/aclocal aclocal:m4/po.m4:36: warning: macro `AM_PATH_PROG_WITH_TEST' not found in librar y aclocal:m4/po.m4:61: warning: macro `AM_PATH_PROG_WITH_TEST' not found in librar y aclocal:m4/po.m4:78: warning: macro `AM_PATH_PROG_WITH_TEST' not found in librar y aclocal:m4/gettext.m4:170: warning: macro `AM_ICONV_LINK' not found in library configure.ac:185: warning: AM_NLS is m4_require'd but not m4_defun'd m4/intltool.m4:27: […]