问题标签 [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.
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)的通用定义混合在一起,当自动工具也用于客户端软件配置时会发生冲突。
makefile - autotools 中有关 EXTRA_SCRIPTS 变量的文档在哪里?
Makefile.am 中的 EXTRA_SCRIPTS 变量是什么?它记录在哪里?
automake - 如何在 Makefile.am:s 中使用多级 SUBDIRS?
automake 抱怨的一个常见问题是由各种 Makefile.am:s 中的以下行引起的
此行的目的是强制构建顺序,以便在引擎目录之前构建transport/http/util和transport/http/common,并在构建引擎之后构建其余的传输。
此行在 MinGW 下运行 automake 时会导致以下错误:
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 的简单化方法将被打破。
你有别的想法吗?
g++ - Autoconf/Automake "configure.ac:2: 选项 `-Wall' 无法识别"
我正在尝试从新项目的 autoconf / automake 开始。首先,我正在阅读“使用 GNU Autotools”并尝试构建 Hello-World-Tutorial。
第 96 页所需的文件(真正的 Page=105,因为它是 LaTeX 演示文稿)configure.ac
,Makefile.am
并且src/Makefile.am
看起来与文档中的说明完全相同。
之后我尝试了:
好吧,似乎 automake 不喜欢第二行:
因此我执行了:
您可以很容易地看到automake --add-missing --copy --no-force
我使用详细选项重复的 autoconf 运行。它只返回这个:
有人知道为什么这不起作用吗?我的印象是我的文件都没有错...
我想用它来为 Linux 和 Windows 编译 C++ 代码(使用 mingw32-g++)。你知道从哪里开始以及我需要注意什么吗?
我在 Ubuntu 9.10 64 位。
任何帮助表示赞赏。提前致谢,问候
android - 如何处理构建过程中自动生成的源代码文件
我正在尝试构建一个使用自动生成的源代码文件的第三方库。通常情况下,这类文件是由 gnu 构建工具生成的。我的问题是如何告诉 Android NDK 构建工具生成和构建这种文件。
提前致谢
emacs - 什么是 ltmain.sh,为什么 automake 说它丢失了?什么是好的自动(make/conf/etc)生成器?
我只想在 linux 中开发一个自动生成 auto(make/conf/...) 的 C 应用程序。我尝试使用 ede 和 anjuta 生成它,但它似乎没有生成 Makefile.am。所以,我尝试运行 automake,它说“ltmain.sh”没有找到。是否有一些易于生成 linux C/C++ 应用程序的基本构建文件。标准做法是什么?大多数人自己编写这些文件吗?
makefile - 如何让 automake 不那么难看?
我最近学会了如何使用 automake,我有点恼火的是我的编译命令来自一堆:
给一堆:
有什么办法可以清理这个吗?我通常可以很容易地挑选出警告信息,但现在要阅读的文字墙要大 3 倍,而且要怪异得多。
我知道我的标志是什么,所以让它对每个文件都说“编译 xxx.cpp”是完美的。
makefile - 如何在 automake 中创建依赖项?
我现在有一个 Makefile.am 文件,如下所示:
编译时,bar.F90 给出 bar.o。但是,bar.F90 依赖于其他几个 Fortran 文件(cat.F90、dog.F90、pig.F90)。如果这些依赖项之一的源发生更改,我想设置 Automake 以重建 bar.o。
我一直在阅读 automake/autoconf 的 GNU 手册,但无法找到解决方案。谢谢阅读。
linux - kdevelop 3.5:配置:错误:C++ 编译器无法创建可执行文件
我尝试在 Ubuntu 10.04 上使用 kdevelop 3.5.4 编译应用程序,但失败并出现以下错误:
配置日志:
我不知道出了什么问题。会不会是所用工具的版本不匹配?