autotools相关内容
对于使用autoconf-构建的项目,我需要包含 GLib 标头.基于便携式的系统. 如何安全地以可移植方式导入GLib标头?我知道 pkg-config ,但这并不是完全可移植的(因为某些系统没有没有,我宁愿仅依靠autoconf进行配置. 解决方案 GLib 2.22 INSTALL文件指出,pkg-config是安装此库的必要条件.我不是GLib(双关语!);该要求的声明是IN
..
我有一个数据目录,我希望automake为其生成安装和卸载目标.本质上,我只想将此目录原样复制到DATA目录,通常,我可能会单独列出所有文件,例如 dist_whatever_DATA=dir/subdir/filea ... 但是当我的目录结构看起来像这样 时,就会出现问题 *root *subdir *~10 files *subdir *~10 files *su
..
我正在尝试将我的应用程序从手动构建迁移到autoconf,到目前为止,它的运行情况非常好.但是我有一个静态库,无法弄清楚如何集成.该库将不在通常的库位置中-二进制文件(.a文件)和标头(.h文件)的位置将作为configure参数给出. (值得注意的是,即使我将.a文件移动到/usr/lib或我能想到的其他位置,它也仍然无法正常工作.)它在传统上也没有命名(它不以"lib"或"l开头" ").
..
我正在使用autoconf& automake,而我正在努力正确设置*CPPFLAGS中的包含路径.我已经阅读了大约3个小时的文档,但还无法弄清楚.我不是在寻找hack,而是在寻找正确的方法.这是我的难题. 如我所见,包含路径有3种完全不同的来源: 必须与我的软件包一起安装的外部库,这些库由configure --with-XXX=配置. 在我的程序包中,即使file.h
..
我正处于将Autotools支持添加到C ++库的早期阶段.此时,我正在使用以下配置运行autoreconf. $ cat Makefile.am AUTOMAKE_OPTIONS = foreign bin_PROGRAMS=cryptest $ cat configure.ac AC_INIT(Crypto++, 6.0, http://www.cryptopp.com/wiki/Bu
..
我刚刚将c ++项目转换为autotools项目,并从此处.当我的路径应为"bla bla"时,构建失败并显示"sh:/home/me/bla:无此类文件或目录".问题是我没有在任何地方写任何路径.我该怎么办?除了重命名路径外... Doh! 解决方案 对不起,您只能使用autoconf做几件事,而其中名称中带有空格的路径就是其中之一.
..
我正在尝试使用自动工具(autoconf,automake,libtool)作为构建系统来创建一个库.该库必须是可交叉编译的,但是构建它的步骤之一是在整个过程中通过从源代码构建的可执行文件生成源代码. 问题是我不能使用automake的系统来构建中间二进制文件,因为当它被交叉编译时,它不会在'--build'上运行以生成源代码. 解决此问题的一种方法是创建单独的autools项目以构建
..
我有一个带有自动工具的项目:automake,autoconf. 我想禁止make重建文件configure,Makefile.in等;只是为了做编译工作. 有些文件是手工编辑的,我知道我不应该这样做. (或者从CVS更新项目,并将所有生成的文件存储在CVS中). 但是目前我没有安装正确版本的自动工具. 此文件的修改时间必须是什么(必须是新的/旧的): aclocal.m4
..
我需要构建一个配置有自动工具的库.通常的configure && make && make install步骤生成版本化的共享库,例如libfoo.so.x.x是否可以修改configure.ac或Makefile.am(当然还要跟上autoreconf),以便构建未版本化的lib. 谢谢! 解决方案 是的,假设该库是使用libtool构建的,则可以通过在库的LDFLAGS中添加-a
..
configure.ac中包含以下内容: AC_CHECK_PROGS(MAKE,$MAKE make gmake,error) if test "x$MAKE" = "xerror" ;then AC_MSG_ERROR([cannot find a make command]) fi 这已经存在于我们的项目中很长时间了,但是在某些设置中,我得到了这个错误: configur
..
在C/C ++项目中自动检测库依赖关系的最佳方法是什么? 我有一个项目,其中有对计算机的所有依赖项.它生成并运行.现在,我想组装一个自动工具构建系统.我正在寻找一种自动检测所需的所有依赖项(例如,使用的头文件和链接所需的库)的好方法. 对于我而言,似乎最难识别库位.我想说的是,为列表或其他内容中的每个函数生成AC_CHECK_LIB命令.我可能可以在Perl中做到这一点,但我必须想象它
..
我无法在Fedora 26 x86_64上构建一些基于Autotool的库. 64位Fedora将第三方库和供应商库放在/usr/local/lib64中. Ubuntu 17使用/usr/local/lib,因此相同的项目可以正常运行. 我一直在使用--libdir=/usr/local/lib64,但是三个库拒绝使用它.我缺少/usr/local的config.site,所以我尝试添加一
..
我搜索了此问题的答案,但找不到任何好处.也许它们很旧,并且有些变化,所以我再问一遍. 我的目录结构为: my_project src bin 我想要的是,当我在根目录中创建时,二进制文件放在./bin中,而不是混乱的./src.但是如何? 编辑:我正在使用C ++.我的Makefile.am没有什么特别的.只是bin_PROGRAM和_SOURCES变量.
..
我目前正在从事一个C ++项目,该项目依赖于递归自动制作进行构建. 我想建立一个共享库,该库的src目录中的Makefile.am看起来像 # ... # Library name lib_LTLIBRARIES = libadapter-@MY_API_VERSION@.la # Sources libadapter_@MY_API_VERSION@_la_SOURCES = \
..
各种开发人员不鼓励使用PKG_CHECK_MODULES(例如,在此答案中),但目前尚无定论. ,就我所寻找的原因进行全面的解释.所以,我问: PKG_CHECK_MODULES为什么有害? 有哪些替代方案? 我今天第一次使用它.我发现它非常有用,特别是在处理非常复杂的库集(例如GTK +)时,它具有所有这些依赖性: -I/usr/lib/i386-linux-gnu/gtk-
..
我希望交叉编译使用GNU autotools构建系统的现有库.我在主机上安装了Linaro arm-gcc工具链,并且能够直接使用arm-gcc编译小程序. 主机:Ubuntu 12.04 Intel x64 目标计算机:Ubuntu 14.04 ARM 32位(类似于Raspberry-Pi的主板) 我有一个库源代码,其中包含configure.ac和Makefile.am文件.我
..
此问题类似于在以下位置安装thrift: CentOS 6.5 64位和Cassandra PDO ,但他在CentOS上,我是MacOS. checking for gawk... (cached) awk checking for ranlib... (cached) ranlib ./configure: line 17029: syntax error near unexpected
..
在尝试构建libnice-0.1.10时遇到此类错误.对于解决方案,我正在跟踪可能未定义的宏:AC_MSG_ERROR ,但仍然无法获取在那里. 某些程序版本 uname: 3.5.0-23-generic m4: 1.4.16 automake: 1.14.1 autoconf: 2.69 libtoolize: 2.4.2 我还在bashrc中添加了ACLOCAL_FLAGS
..
我正在尝试查找与Solaris上的映射文件链接失败的方法.当我尝试运行自检时,缺少的映射文件会导致以下错误: $ ./cryptestcwd v ld.so.1: cryptestcwd: fatal: /export/home/cryptopp/.libs/libcryptopp.so.6: hardware capability (CA_SUNW_HW_1) unsupported: 0
..
根据操作系统,我在configure.ac中定义一个特殊的LDFLAGS: AC_CANONICAL_HOST if test "$host_os" = cygwin then LDFLAGS="$LDFLAGS -Wl,-no-undefined" export LDFLAGS fi AC_SUBST([LDFLAGS]) 该软件包使用AC_PROG_LIBTOOL,并
..