问题标签 [autotools]
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.
c++ - 如何设置自动工具以在多个系统上同时为单独的架构构建项目?
我有一个使用 automake 和 autoconf 的 C++ 项目。我对这两个都是新手。
我的主目录是网络安装的——在我们拥有的每台服务器上都相同——我想在不同的机器上同时编译和运行项目(及其可执行文件)。
我们的服务器通常采用不同的架构。我的桌面是 32 位的,但服务器是 64 位的,等等。
configure.ac
我在为机器架构命名的单独目录中使用和Makefile.am
编译目标文件有哪些选项?在常规 Makefile 中执行此操作相对简单,但我不知道如何设置自动工具。
autotools - 在配置脚本中检查 automake/autoconf 版本
我正在尝试编辑一个配置脚本,如果它高于 Automake 版本 x.xx,它将执行这段代码,如果不是,它将执行另一段代码。
因此,我需要版本为 1.10 或更高版本,然后在这种情况下我想这样做:
并且,否则:
所以我会假设它看起来像这样(在configure.in
):
另外,我应该检查 autoconf 或 automake 版本吗?可能两者兼而有之?
c - 如何在我的 Make 文件中定义#define
在我的 c/c++ 文件中,有多个#define。举个例子:
你能告诉我如何修改我的 Makefile.in 以便在编译期间在所有文件中都有那些#define 吗?
谢谢你。
autotools - 自动生成二进制文件到 bin/ 而不是 src/
我搜索了这个问题的答案,但找不到任何好处。也许他们老了,有些东西变了,所以我再问一次。
我有一个目录结构:
我的项目
源代码
斌
我想要这样,当我在根目录中制作时,将二进制文件放在 ./bin 中,而不是杂乱无章的 ./src。但是怎么做?
编辑:我正在使用 C++。我的 Makefile.am 没有什么特别的。只是 bin_PROGRAM 和 _SOURCES 变量。
当我运行 make 时,生成的二进制文件被放入 ./src。我只是希望它们在 ./bin 中。
c++ - 为什么 autotools 在一台机器上创建 project-File.o,在另一台机器上创建 File.o?
我有一个自动工具项目。一台机器上的相同 tarball 编译文件如下:
在另一台机器上:
有谁知道是什么导致了这种不同的行为?两台机器都安装了相同的 OS X 补丁,具有相同的工具版本。
makefile - 将 pkg-config 与自动工具一起使用
我正在学习 autotools 并通过一个 hello world 场景完成它,现在想尝试将一些 cppunit 测试包装到一个包中并使用 autotools 构建它。为了构建软件包,必须在系统上安装 cppunit。在构建的 ./configure 部分检查此问题的最佳方法是什么。
我查看了AC_CHECK_LIB
一些关于使用 pkg-config 的信息。我将如何在 autotools 领域中使用 pkg-config 来检查构建系统上是否存在 cppunit,然后添加包含和链接行。
任何帮助,将不胜感激。谢谢。
史蒂夫
python - 在python中访问autoconf定义的符号
我正在开发一个用 C++ 和 python 编写的项目。我的 configure.ac 中有以下行:
这意味着在运行配置生成的 config.h 中,我有以下定义行:
我只是想知道是否存在用于解析这样的配置符号的现有模块,或者至少是在 python 中访问这些定义的标准方式。
makefile - 使用 GCC 和 autotools 为单个源文件设置编译标志的最佳方法是什么?
我需要使用自动工具禁用单个文件的优化标志。最好的方法是什么?
include - GNU 自动工具包括 CUDA 的文件依赖跟踪(.deps 目录)
我正在使用 GNU autotools 来构建 cuda 项目。就预处理器而言,CUDA 文件是常规的 C++ 文件,但是它们使用.cu
扩展名并且必须使用nvcc
基于 g++ 的 NVIDIA 编译器的编译器。这会破坏常规的依赖跟踪,不会填充 .deps 目录。这意味着如果.cu
文件包含另一个文件,对包含文件的更改不会触发.cu
文件的重新编译。
如何修改我的 Makefile.am/configure.ac 以启用.cu
文件的跟踪依赖关系。谢谢
documentation - GNU autoconf,使用 doxygen 的文档选项?
是否可以记录 configure.ac 以便 doxygen 可以在生成的手册中获取嵌入式注释并为选项、变量等生成文档?
谢谢