autoconf相关内容

将 autoconf 更新至至少 2.6

我在 CentOS 5.5 上有 autoconf 2.59,需要升级到 autoconf 2.6.最好的方法是什么?我试过 yum update autoconf 但没有运气 解决方案 我会从 RPMForge 或 ATrpms 获得它,但我看不到他们也有.其他一些 CentOS 3rd 方存储库可能会.下载 GNU Autoconf 并构建它. ..
发布时间:2021-11-30 19:12:14 其他开发

用于交叉编译的`./configure` 选项?

据我所知,./configure 脚本是用 GNU Autoconf 生成的.我根本不知道 Autoconf.这些工具是如何工作的,我如何使用这个 ./configure 脚本来制作交叉编译的源代码? 解决方案 这是一篇很好的关于如何交叉编译的小文章:http://linux.bytesex.org/cross-compiler.html. 交叉编译的主要部分是为编译器设置配置标志以 ..
发布时间:2021-11-30 19:12:05 其他开发

“帮助"“configure --help"的字符串变量替换;

我有一个字符串,我想多次将其用于 configure --help 的输出.所以我尝试在 configure.ac 中做这样的事情: AC_ARG_ENABLE([foobar],AS_HELP_STRING([--enable-foobar], [$foobar_help_str])) 但是没有进行扩展或替换,所以输出只是$foobar_help_str. 解决方案 将字符串定义为 ..
发布时间:2021-11-30 19:11:57 其他开发

使用 GCC 和 autotools 为单个源文件设置编译标志的最佳方法是什么?

我需要使用 autotools 禁用单个文件的优化标志.最好的方法是什么? 解决方案 你是说一个单独的源文件还是一个单独的可执行文件? 禁用可执行文件优化很简单: bin_PROGRAMS = myprogmyprog_SOURCES = foo.c bar.cmyprog_CFLAGS = -O0 如果您的意思是要暂时禁用对单个源文件的优化,例如出于调试目的,您可以在提示符下重 ..
发布时间:2021-11-30 19:11:45 其他开发

向 Autoconf 生成的配置脚本添加自定义安装目录选项

configure 脚本总是在帮助消息中包含如下内容: ...默认情况下,`make install' 将安装所有文件`/usr/local/bin', `/usr/local/lib' 等你可以指定使用 `--prefix' 的除 `/usr/local' 之外的安装前缀,例如`--prefix=$HOME'.为了更好地控制,请使用以下选项.微调安装目录:--bindir=DIR 用户可执行文 ..
发布时间:2021-11-30 19:10:51 其他开发

带有相互依赖的子包的 Autoconf 子目录?

我手头有一个大型项目(主),它被分成几个组件(liba、b、c、d)以简化构建和维护.在构建整个包时,必须依次构建所有子组件,其中一些包相互依赖. 更明确地说,liba 是 b、c 和 d 的先决条件,并且配置脚本检查 liba 的存在.在自行构建 b 发行版时,此检查对于提供用户友好的错误消息绝对是必要的.但是,在构建主包及其所有子包时,liba 被构建为子目标.因此,在主套件上运行con ..

Autotools 库和目标文件输出控制

我的目标是将所有目标文件构建在 .objs 目录而不是 Makefile 的根目录中,并将二进制文件(和库)复制到项目的 bin/ 目录中.但我一直无法找到任何资源来解释如何做到这一点.我该怎么做? 这是我的 configure.ac 和 src/Makefile.am - 我有两个引用的共享库的类似 Makefile.am 文件.它们进行编译,并在将它们复制到 bin/ 目录后正常工作.我 ..
发布时间:2021-11-30 19:10:32 其他开发

是否存在正在使用的所有已知目标三元组的列表?

当交叉编译工具时,您通常必须提供“目标三元组".给出的例子 i686-pc-linux-gnu arm-none-linux-gnueabi powerpc-unknown-linux 等等... 这些三元组有时实际上是四个组成部分,具有以下形式: -[-]- 内核是可选的,制造商可以是“未知"或“无"之类的东西,因为它通常不相关. 我还没有找到一个页面,其 ..
发布时间:2021-11-30 19:10:22 其他开发

Autoconf 检查结构群

fcntl() 使用 struct flock 结构来定义和检查文件锁.不幸的是,在不同的 Unix 系统上,这个结构中的字段顺序不同.有谁知道如何使用 autoconf 检查它或至少检查结构是否采用特定格式(例如问题是 - 结构格式是否与 Linux 格式匹配)? 解决方案 您可以使用这个 autoconf 宏来查找 struct flock 的某个成员是否存在: AC_CHECK_M ..
发布时间:2021-11-30 19:10:14 服务器开发

Autoconf 检查程序,如果找不到则失败

我正在创建一个项目并使用 GNU Autoconf 工具进行配置和制作.我已经设置了所有的库检查和头文件检查,但似乎无法弄清楚如何检查系统上是否存在可执行文件,如果不存在则失败. 我试过了: AC_CHECK_PROG(TEST,testprogram,testprogram,AC_MSG_ERROR(Cannot find testprogram.)) 当我 configure 它运行 ..
发布时间:2021-11-30 19:10:03 服务器开发

如何安装和使用 libtool 共享库(.lo 文件)?

所以在我运行 libtool 并从我的库源中取出 libfoo.lo 和 foo.o 文件后,我如何转换 libfoo.lo 文件转换成一个普通的 Linux 共享库,比如 libfoo.so.1.0.0 以便我可以在我的目标系统上安装并链接到它? 解决方案 从问题中提到的输出来看,您似乎使用 --mode=compile 模式运行了 libtool.您将需要使用 --mode=link ..
发布时间:2021-11-30 19:09:54 C/C++开发

在 autoconf/automake 中可移植地包含 GLib 头文件

我需要为使用自动配置构建的项目包含 GLib 标头 -基于系统的可移植性. 如何以可移植的方式安全地导入 GLib 标头?我知道 pkg-config,但这并不完全可移植(因为有些系统不没有它,我宁愿只依靠 autoconf 进行配置). 解决方案 GLib 2.22 INSTALL 文件指出 pkg-config 是安装此库的必要条件.我不是 GLib(双关语!);此要求的声明是 ..
发布时间:2021-11-30 19:09:44 其他开发

当 .h 文件明确可用时,为什么 autoconf 不能通过 AC_CHECK_HEADER 测试?

我花了一些时间让 autoconf 检查特定头文件的存在. 让我们将头文件依赖项称为“inky.h",假设 inky 是一个(单独)安装的库,前缀设置为“/usr/local".这将“inky.h"放在/usr/local/inky/inky.h 中,将 libinky.so 放在/usr/local/lib 中. 现在,我正在尝试验证 inky.h 在我的应用程序 configure ..
发布时间:2021-11-30 19:09:34 其他开发

什么是 ltmain.sh,为什么 automake 说它丢失了?什么是好的自动 (make/conf/etc) 生成器?

我只想用自动生成的 auto(make/conf/...) 东西在 linux 中开发一个 C 应用程序.我尝试用 ede 和 anjuta 生成它,但它似乎没有生成 Makefile.am.所以,我尝试运行 automake,它说找不到“ltmain.sh".是否有一些易于为 linux C/C++ 应用程序生成基本构建文件的方法.什么是标准做法?大多数人会自己编写这些文件吗? 解决方案 ..
发布时间:2021-11-30 19:09:18 其他开发

使用 automake 安装包含大量文件的数据目录树

我有一个数据目录,我希望 automake 为其生成安装和卸载目标.本质上,我只想将此目录逐字复制到 DATA 目录,通常,我可能会单独列出所有文件,例如 dist_whatever_DATA=dir/subdir/filea ... 但是当我的目录结构是这样的时候问题就出现了 *root*子目录*~10 个文件*子目录*~10 个文件*子目录*~700 个文件*子目录...~20 个子目录 ..
发布时间:2021-11-30 19:09:09 其他开发

如何在 autoconf 配置脚本/makefile 中添加指向库的链接

我是 autotools 新手我很难弄清楚如何轻松地将特定库链接到配置的目标之一. 我有一个源包,我想以通常的方式构建:./configure &&制作&&进行安装 不幸的是,其中一个 cpps 缺少对另一个库的引用.手动编译(调整命令行)有效.但我宁愿“修补"编译脚本.编辑链接引用的标准位置在哪里? 对 `boost::system::get_system_category() ..
发布时间:2021-11-30 19:09:00 其他开发