19得票2回答
如何在C89中引起编译错误,如果两种类型不相同?

仅使用C89功能,给定typedef [unspecified token sequence] T1; typedef [another unspecified token sequence] T2; 展示一种语言结构,只有在T1和T2是相同类型(而不仅仅是兼容)时才会编译通过。之所以限制为C...

19得票4回答
使用Autoconf进行ARM交叉编译

我在使用autconf交叉编译一个库到我的arm板上遇到了问题。 我正在使用以下命令: ./configure --target=arm-linux --host=arm-linux --prefix=/bla/bla/bla/linux_arm_tool CFLAGS='-m32' ma...

18得票2回答
configure脚本中处理CFLAGS的最佳实践是什么?

我不是autoconf的粉丝,但出于最小惊讶原则的考虑,我正在尝试使我的(非autoconf的)配置脚本的行为尽可能接近用户从基于autoconf的构建系统所期望的。GNU编码标准在这个主题上实际上相当合理,并明确提到了不使用autoconf/automake但以其它方式提供兼容接口的可能性:...

17得票3回答
autoconf/automake:基于库的存在进行条件编译?

我需要根据库文件的存在与否来有条件地编译一些代码。看起来使用autoconf/automake应该很容易,但我无法弄清楚。 例如,如果有PNG库存在,我想要包括用它的代码。我的configure.ac文件中包含:AC_CHECK_LIB([png], [png_create_write_st...

17得票2回答
库中未找到“AM_PROG_LIBTOOL”

我在尝试编译CentOS 7中的一个库时遇到了错误,我尝试重新安装libtool,但没有帮助。以下是错误信息: + autoreconf --install configure.ac:32: warning: macro 'AM_PROG_LIBTOOL' not found in libr...

17得票2回答
自动化工具 - tar 这不像是一个tar归档文件。

在运行make distcheck后,我收到一条消息,告诉我已经成功构建了软件包并准备好进行分发。如果我使用tar -zxvf hello-0.2.tar.gz解压tar.gz文件,则可以成功提取其所有内容。然而,在尝试在不同的机器上提取它们时,我会收到以下错误:tar: This does ...

17得票2回答
如何通过Autoconf中的"./configure"设置一个预定义变量

我有一个项目,可以根据一个定义生成两个不同的应用程序。libfoo_la_CXXFLAGS = -DMYDEFINE 我需要修改 Makefile.am 来设置这个定义,以便它不是自动的。 我能否通过 configure 命令来设置这个定义? 还有其他使用 autotools 设置一个定义的...

17得票2回答
在configure.ac文件中读取版本号

出于某些原因,我将我的项目版本号定义在一个纯文本文件中而不是configure.ac文件中。我想创建一个能够在编译时读取版本号并将其存储的语句。 目前我的configure.ac文件看起来像这样:AC_INIT([my program],[999.9.9]) 我希望能够得到类似以下的东西:A...

17得票1回答
autoconf的AC_CHECK_HEADERS在哪里验证头文件?

我在编译一个开源库(libopekele OpenID lib)时遇到了问题。 问题是我没有sudo访问权限去编译这个库的系统。 运行configure时,它报告缺少htmltidy库。我将htmltidy安装在一个非标准路径/home/geekgod(因为我没有访问/usr和/usr/l...

16得票3回答
使用Automake安装包含大量文件的数据目录树

我有一个数据目录,我希望 automake 为其生成安装和卸载目标。基本上,我只想原样复制此目录到 DATA 目录中。通常,我可能会逐个列出所有文件,例如dist_whatever_DATA=dir/subdir/filea ... 但是,当我的目录结构像这样时,问题就出现了*root *s...