问题标签 [autoconf]

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 投票
1 回答
836 浏览

configuration - autoconf/automake 的外部库配置宏

是否有一个 autoconf 宏来配置通用库,它可以:

  • 生成 --with 配置选项
  • 设置库和包含路径
  • 设置编译器/预处理器和链接器标志
  • 检查库是否存在并包含文件
  • 设置配置宏

现在,我正在使用 ARG_WITH、CHECK_LIB 等进行所有操作。这些步骤是通用的,最终会被复制/粘贴并进行细微的更改。我搜索宏存档并没有找到通用解决方案。

谢谢

0 投票
1 回答
864 浏览

c - 是否可以使用 autoconf 检查 nvcc 编译?

我正在尝试在配置过程中测试一些典型的 cuda 功能。如何在我的 configure.ac 中编写它?就像是:

但是在 AC_LANG 中没有定义 nvcc。我必须创建自己的 m4 宏吗?

0 投票
1 回答
12560 浏览

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

因此,在我运行 libtool 并从我的库源中取出一个libfoo.lo文件foo.o后,我如何将libfoo.lo文件转换为普通的 Linux 共享库,libfoo.so.1.0.0这样我就可以在我的目标系统上安装并链接到它?

0 投票
1 回答
844 浏览

sdl - 编译 cal3d 演示“cally”(带有骨骼动画的 3d 模型库)

我认为这是一个关于汽车制造的问题。

http://home.gna.org/cal3d/

我正在为 Cal3D 的 cally 演示而苦苦挣扎。我遇到的第一个问题是 Cal3D 代码库在很多地方都丢失#include <cstring>#include <memory>

每次我在 Cal3d 中的任何源文件中遇到错误时都这样做足以让我编译它。

凯莉演示还需要一些#include <cstring>

现在我的问题是编译 tick.cpp 时没有定义 HAVE_SDL_H 。configure 和 makefile 似乎接受 SDL 安装在我的系统上,但 src/tick.cpp 中的宏没有。

我猜 configure.in 或其他东西中存在某种错误,但我似乎不知道它是什么。

编辑:

我终于编译了演示。

当我编译 cal3d 时,我添加#include <cstring>了以下文件:

  • src/cal3d/hardwaremodel.cpp
  • src/cal3d/platform.cpp
  • src/cal3d/renderer.cpp
  • src/cal3d/submesh.cpp
  • src/cal3d_converter.cpp

当我编译 cally 时,我添加#include <cstring>了以下文件:

  • src/demo.cpp
  • src/model.cpp

model.cpp 中,我将第 640 行从

我还做了一些更丑陋的更改来编译src/tick.cpp

在 src/tick.cpp 中,我删除了与 SDL 相关的所有内容。我还删除了检查 __i386__ 或 __ia64__ 的宏 if 子句,以便也可以编译 Tick::getTime()。

我知道这不是一个适当的修复,因此非常欢迎改进。

  • 带有 2.6.27 内核的 64 位 OpenSuSE。
  • 海湾合作委员会:4.3.2
  • GNU 自动制作:1.10.1
  • GNU 自动配置 2.63
  • 64 位版本的 SDL 库与 zypper 一起安装(通过 GUI)。

解决方案

configure.in改变

(然后运行 ​​autoreconf 和 ./configure)

tick.cpp 中将所有检查更改HAVE_SDL_HHAVE_SDL_SDL_H

这都是由于 sdl 库中的重组。

0 投票
2 回答
24247 浏览

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

我是一个 autotools 新手,我很难弄清楚如何轻松地将特定库链接到配置的目标之一。

我有一个源代码包,我想以通常的方式构建:./configure && make && make install

不幸的是,其中一个 cpp 缺少对另一个库的引用。手动编译(调整命令行)是可行的。但我宁愿“修补”编译脚本。编辑链接引用的标准位置在哪里?

这是我的错误信息。

0 投票
2 回答
678 浏览

c++ - 将版本和架构信息插入 C++ 源代码的最佳方法是什么?

我希望我的 C++ 程序包含一个“--version”选项,它会导致它打印出来:

  • 为其编译的架构
  • 源版本(例如,v0.1.0)
  • 应用程序名称

我也是第一次使用 autoconf/automake,我注意到 configure.ac 既有二进制文件又有版本。它目前没有架构信息,我不想添加这样的信息,因为我将在多个拱门下编译。

有没有一种简单的方法可以自动在头文件或源文件中插入版本/架构/应用程序名称信息?大多数 C++ 程序员如何做到这一点?

0 投票
1 回答
989 浏览

c++ - 如何设置自动工具以在多个系统上同时为单独的架构构建项目?

我有一个使用 automake 和 autoconf 的 C++ 项目。我对这两个都是新手。

我的主目录是网络安装的——在我们拥有的每台服务器上都相同——我想在不同的机器上同时编译和运行项目(及其可执行文件)。

我们的服务器通常采用不同的架构。我的桌面是 32 位的,但服务器是 64 位的,等等。

configure.ac我在为机器架构命名的单独目录中使用和Makefile.am编译目标文件有哪些选项?在常规 Makefile 中执行此操作相对简单,但我不知道如何设置自动工具。

0 投票
2 回答
4999 浏览

autotools - 在配置脚本中检查 automake/autoconf 版本

我正在尝试编辑一个配置脚本,如果它高于 Automake 版本 x.xx,它将执行这段代码,如果不是,它将执行另一段代码。

因此,我需要版本为 1.10 或更高版本,然后在这种情况下我想这样做:

并且,否则:

所以我会假设它看起来像这样(在configure.in):

另外,我应该检查 autoconf 或 automake 版本吗?可能两者兼而有之?

0 投票
3 回答
15792 浏览

autotools - 自动生成二进制文件到 bin/ 而不是 src/

我搜索了这个问题的答案,但找不到任何好处。也许他们老了,有些东西变了,所以我再问一次。

我有一个目录结构:

我的项目

  • 源代码

我想要这样,当我在根目录中制作时,将二进制文件放在 ./bin 中,而不是杂乱无章的 ./src。但是怎么做?

编辑:我正在使用 C++。我的 Makefile.am 没有什么特别的。只是 bin_PROGRAM 和 _SOURCES 变量。

当我运行 make 时,生成的二进制文件被放入 ./src。我只是希望它们在 ./bin 中。

0 投票
3 回答
479 浏览

python - 在python中访问autoconf定义的符号

我正在开发一个用 C++ 和 python 编写的项目。我的 configure.ac 中有以下行:

这意味着在运行配置生成的 config.h 中,我有以下定义行:

我只是想知道是否存在用于解析这样的配置符号的现有模块,或者至少是在 python 中访问这些定义的标准方式。