问题标签 [automake]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2477 浏览

gcc - 使用自动工具时 PACKAGE_NAME 和其他宏冲突

当对库和基于该库构建的软件使用自动工具(带有config.h文件)时,编译器会抱怨重新定义了某些宏(PACKAGE_NAME、PACKAGE_TARNAME 等)。

我怎样才能防止这种情况?

库中需要该config.h文件以将其设置传播到使用它的软件。

现在我有一个library_config.h包含原始文件的包装脚本,config.h并在用户不使用自动工具时提供默认值,但即使取消定义该包中的宏,我也会收到来自 gcc 的重新定义警告。

我相信最好的选择是拥有一个没有该宏的库:使用自动工具时,如何避免在库中定义 PACKAGE、PACKAGE_NAME 等?

编辑:尝试更好地解释。

在库中使用AC_CONFIG_HEADER宏时,configure.ac我会生成一个config.h包含许多有用定义的文件。这个定义对于库本身(对于它的编译部分和它的头文件)和客户端软件都很有用。然而遗憾的是,AC_CONFIG_HEADER将我需要的有用宏与其他具有固定名称(PACKAGE、PACKAGE_NAME)的通用定义混合在一起,当自动工具也用于客户端软件配置时会发生冲突。

0 投票
1 回答
183 浏览

makefile - autotools 中有关 EXTRA_SCRIPTS 变量的文档在哪里?

Makefile.am 中的 EXTRA_SCRIPTS 变量是什么?它记录在哪里?

0 投票
1 回答
1338 浏览

automake - 如何在 Makefile.am:s 中使用多级 SUBDIRS?

automake 抱怨的一个常见问题是由各种 Makefile.am:s 中的以下行引起的

此行的目的是强制构建顺序,以便在引擎目录之前构建transport/http/utiltransport/http/common,并在构建引擎之后构建其余的传输

此行在 MinGW 下运行 automake 时会导致以下错误:

0 投票
1 回答
949 浏览

autotools - Automake:如何添加构建步骤?

目前,我有一个构建链,完全由 automake 管理,例如:

我想添加一个新步骤,将 XML 文件 .ui 预处理为 vala 源:

我这样做了,在 makefile.am

和:

但是make不明白:

这似乎是make的限制:

http://www.ensta.fr/~diam/dev/online/autoconf/autobook/autobook_180.html

如果翻译需要三个步骤——从.m' to.x',然后从.x' to.c',最后到 `.o'——那么 Automake 的简单化方法将被打破。

你有别的想法吗?

0 投票
1 回答
3512 浏览

g++ - Autoconf/Automake "configure.ac:2: 选项 `-Wall' 无法识别"

我正在尝试从新项目的 autoconf / automake 开始。首先,我正在阅读“使用 GNU Autotools”并尝试构建 Hello-World-Tutorial。

第 96 页所需的文件(真正的 Page=105,因为它是 LaTeX 演示文稿)configure.acMakefile.am并且src/Makefile.am看起来与文档中的说明完全相同。

之后我尝试了:

好吧,似乎 automake 不喜欢第二行:

因此我执行了:

您可以很容易地看到automake --add-missing --copy --no-force我使用详细选项重复的 autoconf 运行。它只返回这个:

有人知道为什么这不起作用吗?我的印象是我的文件都没有错...

我想用它来为 Linux 和 Windows 编译 C++ 代码(使用 mingw32-g++)。你知道从哪里开始以及我需要注意什么吗?

我在 Ubuntu 9.10 64 位。

任何帮助表示赞赏。提前致谢,问候

0 投票
1 回答
2231 浏览

android - 如何处理构建过程中自动生成的源代码文件

我正在尝试构建一个使用自动生成的源代码文件的第三方库。通常情况下,这类文件是由 gnu 构建工具生成的。我的问题是如何告诉 Android NDK 构建工具生成和构建这种文件。

提前致谢

0 投票
3 回答
5264 浏览

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

我只想在 linux 中开发一个自动生成 auto(make/conf/...) 的 C 应用程序。我尝试使用 ede 和 anjuta 生成它,但它似乎没有生成 Makefile.am。所以,我尝试运行 automake,它说“ltmain.sh”没有找到。是否有一些易于生成 linux C/C++ 应用程序的基本构建文件。标准做法是什么?大多数人自己编写这些文件吗?

0 投票
2 回答
2499 浏览

makefile - 如何让 automake 不那么难看?

我最近学会了如何使用 automake,我有点恼火的是我的编译命令来自一堆:

给一堆:

有什么办法可以清理这个吗?我通常可以很容易地挑选出警告信息,但现在要阅读的文字墙要大 3 倍,而且要怪异得多。

我知道我的标志是什么,所以让它对每个文件都说“编译 xxx.cpp”是完美的。

0 投票
1 回答
5973 浏览

makefile - 如何在 automake 中创建依赖项?

我现在有一个 Makefile.am 文件,如下所示:

编译时,bar.F90 给出 bar.o。但是,bar.F90 依赖于其他几个 Fortran 文件(cat.F90、dog.F90、pig.F90)。如果这些依赖项之一的源发生更改,我想设置 Automake 以重建 bar.o。

我一直在阅读 automake/autoconf 的 GNU 手册,但无法找到解决方案。谢谢阅读。

0 投票
1 回答
3977 浏览

linux - kdevelop 3.5:配置:错误:C++ 编译器无法创建可执行文件

我尝试在 Ubuntu 10.04 上使用 kdevelop 3.5.4 编译应用程序,但失败并出现以下错误:

配置日志:

我不知道出了什么问题。会不会是所用工具的版本不匹配?