automake相关内容
我已经在配置的不同事物中看到了两者.我有什么区别?仅使用一个值得注意吗?还是使用哪一个都没关系? 解决方案 configure.ac和configure.in是主Autoconf源文件的两个可能名称,由autoconf处理以生成configure shell脚本. configure.ac是新软件包的首选,configure.in是一个较旧的名称,仍然有效. (现在建议将.in后缀仅用于将
..
我正在使用GNU自动工具与团队中的其他人一起工作在一个项目中.在项目中,我们对每个不重要的C ++类都使用单元测试.我发现有对单元测试的支持.为此,我正在使用以下结构: ./ + tests/ + Makefile.am + classA_test.cc .... + classB_test.cc + src/ + lib/
..
比方说,我想让生成makefile将某些特定的头文件路径传递给g ++. 我需要添加什么到configure.ac或Makefile.am来指定此内容? (注意-我不想使用./configure在CPPFLAGS中传递它.我希望在此步骤之前将这些路径引入) 编辑: 具体来说,我想包括/usr/include/freetype和/mypath/include. 我放了AC_C
..
使用Make,我做类似的事情 generated.c: input.txt generator ./generator input.txt > generated.c 我如何从自动工具中获得等效功能? (在清洁时删除generate.c也将是一个奖励). 解决方案 我假设input.txt是已分发的源文件,您不想要分发generated.c (即必须由每个用户构建),并且
..
我正在尝试在github上运行c ++程序. (可通过以下链接 https://github.com/mortehu/text-classifier ) 我有一个Mac,正在尝试在终端中运行它.我想我已经下载了autoconf和automake,但不确定.要运行该程序,我将转到终端中的正确文件夹,然后运行 ./configure && make 但是我得到了错误: 警告:系
..
我要构建的项目具有默认标志 CFLAGS = -Wall -g -O2 CXXFLAGS = -g -O2 我需要在这两个变量上附加一个标志-w(以删除:“将所有警告视为错误") 我有办法解决,给 make 'CFLAGS=-Wall -g -O2 -w'; 'CXXFLAGS=-g -O2 -w' OR 运行./configure并静态修改Makefile
..
这两个文件通常在开源项目中可见. 它们是做什么用的,它们是如何工作的? 解决方案 Makefile.am是程序员定义的文件,由automake用于生成Makefile.in文件(.am代表 uto m ake). 通常在源压缩包中看到的configure脚本将使用Makefile.in生成Makefile. configure脚本本身是由名为或configure.in(不建议使
..
如何使用Automake将共享库与--as-needed链接?当我尝试将标志添加到LDFLAGS时,我看到libtool如此称呼: /bin/bash ../../libtool --mode=link ... -Wl,--as-needed ... dependencies 这将导致对GCC的呼叫,如下所示: gcc -shared ... dependencies ... -W
..
我必须随附一个带有应用程序的第三方库.因为我不想手动设置LD_LIBRARY_PATH或需要任何包装脚本,所以我想让automake设置自定义rpath.不幸的是,libtool有其自己的-rpath选项,并且将-Wl,-rpath,/foo/bar添加到LDFLAGS只会导致 g++: unrecognized option '-rpath' 因为libtool似乎与命令行选项混淆.替
..
我最近开始为正在处理的项目使用autoconf和automake.该项目的文档是用LaTeX编写的.由于我不想将LaTeX作为依赖项,因此我想使用autoconf检查 pdflatex 二进制文件的存在,然后在 Makefile.am 中使用该信息来确定是将 .tex 文件简单地复制到文档目录,还是生成PDF并同时复制两者. 这是 configure.ac 中的相关部分: # Chec
..
我试图在github上运行一个c ++程序。 (可通过以下链接 https://github.com/mortehu/text-classifier ) 我有一个mac,并试图在终端中运行它。我想我已经下载了autoconf和automake,但我不确定。要运行程序,我要到终端中正确的文件夹,然后运行 ./ configure&& make 但是我收到错误信息:
..
其中一些是使用pre-C ++ 11标准编写的(即C ++ 98),并且它们不能用c ++ 11来编译gcc(-std = c ++ 11)。 最新的cpp文件使用C ++ 11标准,他们需要在编译中使用-std = c ++ 11标志。 我可以在Automake中定义两个cpp源文件列表并给出不同的编译标志吗? 解决方案 这是直接从使用automake设置每个文件的标志
..
使用autoconf / automake如何在系统上找到GCC版本? 要获得安装的python版本,可以使用AM_PATH_PYTHON,然后使用PYTHON_VERSION变量将可用。是否有类似的GCC版本? (另外,是否有可能获得gcc的主要,次要和补丁级别?) 解决方案 快速搜索显示 ax_gcc_version 宏应该给你 GCC_VERSION 变量。 不幸的
..
我正在尝试在调试会话中获得 ZBar 。我可以这样做,但是我无法关闭优化器,因此我的调试会话意外跳转,并且Eclipse中的许多变量被标记为 optimized-out 靛青。我在Ubuntu上运行。 我已经尽可能在Makefiles的任何gcc调用中加入-O0,因为最后一个-O是代理的。我使用-Q --help = optimizers找到要查找的内容,但其输出有点奇怪: libt
..
是否有一个方法设置每个文件的基础与automake标志? 特别是,如果我有一个c + +项目,并希望编译-WAll除了我想要的所有文件要禁用特定的警告,我该怎么办? 我试过类似: CXXFLAGS = -WAll ... bin_PROGRAMS = test test_SOURCES = main.cpp utility.cpp utility_o_CXXFLAG
..
我想创建一个 Makefile.am 文件,它生成一个 xxx.c中提到的头文件。文件 我们假设 xxx.c 包含: #include ... 而且我有一个规则在 Makefile.am : version.h: echo' #define VERSION“'`hg id`'''> version.h.tmp cmp ve
..
我想让我的代码与英特尔编译器或gcc / g ++编译根据配置参数。这可能吗? 解决方案 如果你想要在我的configure.ac和Makefile.am文件在编译时使用非gcc的编译器,将'CC = / path / to / compile'作为参数传递给configure。 (即,运行./configure CC = / path。不要使用形式CC = / path ./config
..
autogen.sh失败,输出显示我需要一个更高版本的autoconf。但实际上我有一个2.6x的autoconf .... 为什么它仍然失败? [mirror @ home 4] $ ./autogen.sh + autoreconf -i -f -v autoreconf:输入目录`。' autoreconf:configure。 in:not using Gettex
..
我已经使用Portaudio库制作了一个简单的Makefile项目,该项目已经在以下Makefile中正常工作: CXXFLAGS = -O2 -g -Wall -fmessage-length = 0 OBJS = RecAudio.o LIBS = ../Portaudio/portaudio/lib/.libs/libportaudio.a -lpthread -lrt -l
..
我想为大量目标(单元测试C ++文件)设置相同的LDADD属性(单元测试库)。我首先虽然也许automake有AM_LDADD变量添加该库到文件中的所有目标,但不是这样。 在某些邮件列表中,我发现了一些简短的讨论,要求添加它: http://gnu-automake.7480.n7.nabble.com/AM-LIBS-AM-LDADD-td3698.html 我的问题是,你如何处理?是
..