autoconf相关内容

Fedora x86_64 上供应商库的 config.site

我在 Fedora 26、x86_64 上构建一些基于 Autotool 的库时遇到问题.64 位 Fedora 将第三方和供应商库放在 /usr/local/lib64 中.Ubuntu 17 使用 /usr/local/lib 因此相同的项目可以正常构建. 我一直在使用 --libdir=/usr/local/lib64 但有三个库抵制它.我缺少 /usr/local 的 config. ..
发布时间:2021-11-30 19:02:50 其他开发

Autotools 交叉编译和生成源

我正在尝试使用自动工具(autoconf、automake、libtool)作为构建系统来创建库.库必须是可交叉编译的,但构建它的步骤之一是在整个过程中通过从源代码构建的可执行文件生成源代码. 问题是我无法使用 automake 的系统来构建中间二进制文件,因为当它进行交叉编译时,它不会在“--build"上运行以生成源. 解决这个问题的一种方法是创建单独的 autools 项目来构建 ..
发布时间:2021-11-30 19:02:42 其他开发

Autotools 检查 C++11

我使用 AX_CXX_COMPILE_STDCXX_0X(可以查看 autoconf-archive)来检查编译器的 C++11 功能.它正确地确定需要 -std=c++0x,但没有将其添加到 CXXFLAGS.我查看了宏源,它实际上进行了检查,但随后恢复了以前的标志. 我应该怎么做才能将 CXXFLAGS 设置为能够编译 c++11 源代码? 仅仅将 -std=c++0x 添加到 A ..
发布时间:2021-11-30 19:02:32 C/C++开发

Automake 生成二​​进制文件到 bin/而不是在 src/

我搜索了这个问题的答案,但找不到任何好的答案.也许他们老了,有些东西变了,所以我再问一次. 我的目录结构为: my_project src bin 我想要这样,当我在根目录中进行 make 时,二进制文件会放在 ./bin 中,而不是杂乱无章的 ./src.但是如何? 编辑:我正在使用 C++.我的 Makefile.am 没有什么特别之处.只是 bin_PRO ..
发布时间:2021-11-30 19:02:24 其他开发

GNU 自动工具:调试/发布目标?

我一直在寻找这个:我目前正在将一个中等大小的程序转换为 autotools,来自基于 Eclipse 的方法(带有 makefile) 我总是习惯于使用“调试"版本,其中包含所有调试符号且没有优化,以及“发布"版本,但不包含调试符号和最佳优化. 现在我正在尝试使用 autotools 以某种方式复制它,因此我可以(也许)执行以下操作: ./configure进行调试 哪个将包含所有 ..
发布时间:2021-11-30 19:02:13 C/C++开发

使用 Autoconf 为 ARM 交叉编译

我在使用 autconf 为我的 arm 板交叉编译库时遇到问题. 我正在使用这条线: ./configure --target=arm-linux --host=arm-linux --prefix=/bla/bla/bla/linux_arm_tool CFLAGS='-m32'制作进行安装 当我执行 file 来检查它时,我得到: libjpeg.so.8.4.0:ELF 32 ..
发布时间:2021-11-30 19:01:55 其他开发

尝试安装 pecl 扩展时,mac os x 10.7.3 上的 $PHP_AUTOCONF 错误

我正在尝试使用 pecl_http 和 memcache 设置我的机器,在这两种情况下,我都遇到了类似的错误.这是在 MAC OS X 10.7.3 (lion) 上,我也安装了 XCODE.在运行这些命令之前,我还安装了 Zend Server 社区版,并设置了 CFLAGS='-arch i386 -arch x86_64' 环境变量.所以请帮助我做我需要做的事情 bash-3.2# **s ..
发布时间:2021-11-30 19:01:36 PHP

CFLAGS 与 CPPFLAGS

我知道 CFLAGS(或 CXXFLAGS for C++)用于编译器,而 CPPFLAGS 用于预处理器. 但我还是不明白其中的区别. 我需要为#include 包含的头文件指定一个包含路径——因为#include 是一个预处理器指令,预处理器 (CPPFLAGS) 是我唯一关心的吗? 什么情况下需要给编译器额外的include路径? 一般来说,如果预处理器找到并包含所需 ..
发布时间:2021-11-30 19:01:28 其他开发

PKG_CHECK_MODULES 被认为是有害的?

各种开发人员不鼓励使用PKG_CHECK_MODULES(例如,在这个答案中)但就我所寻找的而言,没有明确、全面的解释他们的原因.所以,我问: 为什么 PKG_CHECK_MODULES 会有害? 有哪些替代方案? 我今天第一次使用它.我发现它非常有用,特别是在处理非常复杂的库集时,例如 GTK+,我在其中拥有所有这些依赖项: -I/usr/lib/i386-linux-gnu/g ..
发布时间:2021-11-30 19:01:21 其他开发

“./configure"有什么区别?选项“--build",“--host"和“--目标"?

脚本 ./configure 接受 3 个选项 --build、--host 和 --target.我混淆了他们的角色.它们的区别和语义是什么? 解决方案 如 这篇博文 并在 GCC 配置条款,--target 仅在您编译工具链时适用.当您对库或二进制文件进行正常的交叉编译时,您使用 --build=构建机器的架构--host=您希望文件在其上运行的架构 但是,当您构建工具链时,事情会 ..
发布时间:2021-11-30 19:01:09 其他开发

使用交叉编译器时如何确定配置的主机值

一般问题:如果我使用交叉编译器,我如何知道在运行 configure 时应该给出的“--host"选项的值? 具体:我正在为 arm64 arch 使用交叉编译器.要使用的正确“--host"值是什么? 解决方案 如果我使用交叉编译器,我如何知道在运行 ./configure 时应该给出的 --host 选项的值? 讨论工具链创建时必须区分三台机器 构建机器,构建工具 ..
发布时间:2021-11-17 22:42:53 其他开发

尝试为 ARM 构建 GDB 时出错

我正在尝试为我的 Ubuntu 16.04 机器上的手臂构建 GDB(8.0 版).打算直接在arm机上调试(目前没有服务器). 我已执行这些说明(正如在此处所解释的那样) ./configure --target=arm-linux-gnueabi --host=arm-linux-gnueabi --build=x86_64_unknown-linux-gnu制作 在链接过程中,系统 ..
发布时间:2021-11-17 22:20:57 服务器开发

如何使用autoconf检查POSIX一致性

我的项目遵循 POSIX.1-2008 标准,并且我想确保用户的实现符合该标准. 到目前为止,我一直在使用 AC_DEFINE 定义 AC_EGREP_CPP 来检查 _POSIX_VERSION : AC_EGREP_CPP(posix_200809L_supported,[#define _POSIX_C_SOURCE 200809L#include#ifdef ..
发布时间:2021-04-12 20:16:24 其他开发

从.h.in生成的.h?

在构建.h文件后,.h文件中有一些结构定义,但是在对应的.h.in中找不到这些定义.有人可以告诉我这一切如何运作以及从何处获得额外信息吗? 具体来说:我正在构建pth,即用户空间线程库.它具有pth_p.h.in,其中不包含我要查找的结构定义,但是当我构建库时,会出现pth_p.h并具有我需要的定义. 实际上,在构建库之前,我已经搜索了库中的每个文件,但是找不到在哪里生成结构定义. ..
发布时间:2021-04-12 20:16:18 其他开发

适用于python2和python3的AM_PATH_PYTHON

我正在使用automake的宏 AM_PATH_PYTHON 查找 pythondir 变量. 到目前为止,我一直在不带参数的情况下调用它,在Ubuntu上默认为python 2.7.现在,我还想为 python3.x (特别是3.3)构建它. 有没有一种方法可以调用 AM_PATH_PYTHON([3])以获取 python3.3 ,并使用 AC_SUBST 在特定于 python3 ..
发布时间:2021-04-12 20:16:15 其他开发