,极大的提高了软件开发的效率。...在工程目录创建以下目录及文件 mkdir include src # 添加源码目录 touch Makefile.am touch src/Makefile.am touch NEWS README ChangeLog...修改文件 修改Makefile.am src/Makefile.am文件 Makefile.am修改如下: #SUBDIRS=lib src SUBDIRS=src #打包时额外包含 EXTRA_DIST...=autogen.sh \ include src/Makefile.am修改如下: bin_PROGRAMS = PrjTest AM_CPPFLAGS = -I$(top_srcdir...执行命令autoscan 将生成的configure.scan重名congfigure.ac 可用修改好的Project下的configure.ac 5. 配置编译 autogen.sh文件内容 #!
Autotools – 自动编译链 简介 虽然现在cmake,qmake 或者 ide的功能越来越强大,也越来越简洁。但是在日常使用中,庞大的开源库,autoconfig 还是占据大半壁江山。...Makefile.am编写 从Demo的文件目录看,为双层目录,server目录即常说的 top-lever ,顶层目录。第二层目录为,bin之前的输出目录也为配置文件目录,src为源码目录。...Makefile.am 文件,在 需要编译的目录或者编译以来目录每个目录都需要添加对应的Makefile.am 文件。...详细说明请看博文:Makefile.am 下述是笔者编写的Makefile 第一层目录的Makefile SUBDIRS=src 第二层目录的Makefile(src) bin_PROGRAMS=gameserver...-l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g.
一、前言 linux环境下,当项目工程很大的时候,编译的过程很复杂,所以需要使用make工具,自动进行编译安装,但是手写makefile文件比较复杂,所幸在GNU的计划中,设计出了一种叫做Autoconf...无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make install。...五、多个文件生成Makefile示例(同级目录) 在目录下有3个.c、2个头文件 configure.ac文件内容: Makefile.am文件内容: 六、Makefile.am...中可用的路径变量 在Makefile.am中尽量使用相对路径,系统预定义了两个基本路径: 路径变量 含义 $(top_srcdir) 工程最顶层目录,用于引用源程序 $(top_builddir) 定义了生成目标文件最上层目录...在顶级的目录中,有一个Makefile.am文件,该文件通过SUBDIRS指明了这个目录下有多少个直接下级目录的代码需要编译。下级目录的Makefile.am也指明自己需要编译的下级目录。
hello.c ➜ project git:(master) ✗ 7:创建Makefile.am文件 automake工具会根据config.in中的参量把Makefile.am转换成Makefile.in...在使用Automake之前,要先手动建立Makefile.am文件。...Makefile.am的内容如下: AUTOMAKE_OPTIONS=foreign bin_PROGRAMS=hello hello_SOURCES=hello.c Makefile.am的内容解释:...AUTOMAKE_OPTIONS为设置的Automake选项。.../depcomp' ➜ project git:(master) ✗ ls Makefile.am aclocal.m4 autoscan.log config.h.in configure.ac
此命令将configure.ac文件中的宏展开,生成configure脚本。这个过程可能会用到aclocal.m4中定义的宏。...该命令通常会从 "acconfig.h” 文件中复制用户附加的符号定义。该例子中没有附加的符号定义, 所以不需要创建 "acconfig.h” 文件。...Automake工具会根据configure.in中的参量把Makefile.am转换成Makefile.in文件。...在本例中, 使用了foreign等级, 它只检测必须的文件。 bin_PROGRAMS = rice:生成的可执行文件名称,生成多个可执行文件,可以用空格隔开。...do_install():将我们编译完的源文件放进板子的根文件系统目录中。 inherit:继承。这里继承autotools。 然后我们在Yocto进行编译,然后将镜像烧录到板子上。
,是生成configure文件的,configure是一个脚本,它能设置源程序来适应各种不同的操作系统平台,并且根据不同的系统来产生合适的Makefile,从而可以使你的源代码能在不同的操作系统平台上被编译出来...,里面主要是根据configure.ac中某些特定宏(如AC_DEFINE)生成的#define和#undefine宏,configure在将根据实际的探测结果决定这些宏是否定义 按照automake规定的规则和项目的目录结构...调用automake,将每个Makefile.am转化成Makefile.in,同时生成满足GNU编码规范的一系列文件(带-a选项自动添加缺少的文件,但有几个仍需要自己添加,在执行automake前需执行...1:**每个目录一个Makefile.am文件;同时在configure.ac的AC_CONFIG_FILES宏中指定输出所有的Makefile文件,例如: 2)**原则2:**父目录需要包含子目录...自定义目录: 在根目录下的Makefile.am中添加如下内容: configdir=${prefix}/config => 定义一个自定义的目录名称config,注意dir后缀是固定的 config_DATA
定义 Makefile的 基本结构不是 很复杂,但当一个程序开发人员开始写Makefile时,经常会怀疑自己写的 是 否符合惯例,而且自己写的 Makefile经常和自己的 开发环境相关联,当系统环境变量或路径发生了变化后.... $ ls autoscan.log configure.scan helloworld.c 将configure.scan复制为configure.ac,并修改其中的内容为: $ ls autoscan.log...configure.scan helloworld.c 然后开始创建Makefile.am文件: $ cat Makefile.am UTOMAKE_OPTIONS=foreign bin_PROGRAMS...autom4te.cache compile configure.ac COPYING helloworld.c install-sh missing 然后在执行configure...不得不说,这个工具的强大,当然也生成了许多的文件。不过还是很好的。
storage.fileinfo是获取fileinfo xlator中fileinfo_options中的fileinfo,glusterd根据是否开启storage.fileinfo给glusterfsd...xlator/mgmt/glusterd/src/glusterd-volume-set.c中找到server_graph_table,添加fileinfo xlator,server_graph_table中定义的顺序也是...= $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src \ -I$(top_srcdir)/rpc/xdr/src -I$(top_builddir)/rpc.../configure.ac文件 // 找到AC_CONFIG_FILES([Makefile.......)...xlator的名称,同时会在日志中打印操作类型,inod,gfid的信息
摘录一段对于m4的描述:从图灵的角度来看 m4,输入流与输出流可以衔接起来构成一条无限延伸的纸带,m4 是这条纸带的读写头,所以 m4 是一种图灵机。...然后是autoconf,是生成configure文件的,configure是一个脚本,它能设置源程序来适应各种不同的操作系统平台,并且根据不同的系统来产生合适的Makefile,从而可以使你的源代码能在不同的操作系统平台上被编译出来...Hello world,a new test 我们看看构建GNU程序中如何按照规范来模拟这个过程 我们创建一个文件configure.ac,里面是一些宏,是接下俩的autoconf来处理的需要的,然后交给...bin_PROGRAMS定义了要产生的执行文件名,这里我们定义为helloworld file_SOURCES定义file这个执行程序的依赖文件,其中“file_SOURCES”中的前部分“file”要改写成可执行文件名.../install-sh' configure.ac:2: installing `./missing' Makefile.am: installing `.
FAAC 编码器下载 : ① 官方网站 : 可以在 FAAC 官网 下载 FAAC 开源库 ; ② 下载 FAAC 编码库 : 点击此处 , 进入下载页面 上述界面中 FAAD2 是解码库 , FAAC...是编码库 ; 这里下载 FAAC Source code 中的 TAR.GZ 文件 ; 四、 Ubuntu 18.04.4 交叉编译 FAAC 编码器 ---- 1 ....交叉编译工具链 : ① 其它开源库的惯例 : 在 FFMPEG 和 x264 交叉编译时 , 都指定了 --cross-prefix 交叉编译工具链前缀 ; ② FAAC 中指定交叉编译工具链的方法 :...在 FAAC 中没有提供该配置 , 那就只能通过环境变量设置 , 将交叉编译工具链的 gcc 设置成环境变量 ; ③ 解析说明 FAAC 中的环境变量 : Some influential environment...-l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g.
在Linux下经常要安装部署一些软件包或者工具,拿到安装包之后一看,简单,configure,make, make install即可搞定。...摘录一段对于m4的描述:从图灵的角度来看 m4,输入流与输出流可以衔接起来构成一条无限延伸的纸带,m4 是这条纸带的读写头,所以 m4 是一种图灵机。...然后是autoconf,是生成configure文件的,configure是一个脚本,它能设置源程序来适应各种不同的操作系统平台,并且根据不同的系统来产生合适的Makefile,从而可以使你的源代码能在不同的操作系统平台上被编译出来...Hello world,a new test 我们看看构建GNU程序中如何按照规范来模拟这个过程 我们创建一个文件configure.ac,里面是一些宏,是接下俩的autoconf来处理的需要的,然后交给.../install-sh' configure.ac:2: installing `./missing' Makefile.am: installing `.
Automake为了兼容各个系统的make使用。 从Makefile.am文件和Autoconf一起生成Makefile.in文件。Gnulib这是GNU代码的中央仓库,目的是共享免费的软件包。...----' configure.ac --. +--> automake* --> Makefile.in Makefile.am --...已经在文本中引用了AC_DC:[echo "Hard rock was here!...生成configure.scan文件之后需要检查修改才能将其重命名为configure.ac使用ifnames列出条件语句ifnames打印所有给定的C源文件中的#if, #elif, #ifdef,...or #ifndef出现在执行文件中的标识符排序列表使用autoconf创建configure无参运行autoconf从configure.ac创建configure。
Automake 为了兼容各个系统的make使用。 从Makefile.am文件和Autoconf一起生成Makefile.in文件。...----' configure.ac --. +--> automake* --> Makefile.in Makefile.am...已经在文本中引用了AC_DC:[echo "Hard rock was here!..., or #ifndef出现在执行文件中的标识符排序列表 使用autoconf创建configure 无参运行autoconf从configure.ac创建configure。...如果加了参数,那么它从那个文件中读取并输出配置脚本到标准输出;如果加了参数-,它从标准输读取然后输出到标准输出。 Autoconf宏被定义在多个文件里面。
用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定义到文件 aclocal.m4中。...aclocal是一个perl 脚本程序,它的定义是:“aclocal - create aclocal.m4 by scanning configure.ac”; automake: 将Makefile.am...如果在configure.ac中定义了一些特殊的宏,比如AC_PROG_LIBTOOL,它会调用libtoolize,否则它 会自己产生config.guess和config.sub; autoconf...: 将configure.ac中的宏展开,生成configure脚本。...这个过程可能要用到aclocal.m4中定义的宏。
先决条件 您将安装CentOS 7.2或更高版本的服务器,我将使用本教程作为我的设置的基础。 在第一章中,我将安装Apache Web服务器。 如果您已经安装了apache,请立即从第2章开始。...libtoolize:考虑在Makefile.am中的ACLOCAL_AMFLAGS中添加`-I m4’。...’ configure.ac:9:安装’config / install-sh’ configure.ac:9:安装’config / missing’ src / Makefile.am:...systemctl restart httpd.service 4、测试SuPHP设置 在本章中,我将向您展示在本网站测试PHP的几种方法。...SuPHP被配置并作为本网站的用户执行PHP文件。 从网站目录中删除测试文件,并开始添加您的网站脚本。
三、从helloworld入手 我们从大家最常使用的例子程序helloworld开始。...autoconf从configure.in这个列举编译软件时所需要各种参数的模板文件中创建configure。...Makefile.am中定义的宏和目标,会指导automake生成指定的代码。例如,宏bin_PROGRAMS将导致编译和连接的目标被生成。...在configure.ini中: #号表示注释,这个宏后面的内容将被忽略。 AC_INIT(FILE) 这个宏用来检查源代码所在的路径。...Makefile.am中定义了一些内容: AUTOMAKE_OPTIONS 这个是automake的选项。
三.从helloworld入手 我们从大家最常使用的 例子程序helloworld开始....从configure.in这个列举编译软件时所需要各种参数的 模板文件中创建configure. autoconf需要GNU m4宏处理器来处理aclocal.m4,生成configure脚本. m4是...在 configure.ini中: #号表示注释,这个宏后面的 内容将被忽略. AC_INIT(FILE) 这个宏用来检查源代码所在 的 路径....Makefile.am Makefile.am是 用来生成Makefile.in的 ,需要你手工书写.Makefile. am中定义了一些内容: AUTOMAKE_OPTIONS 这个是 automake...我们将其设置成foreign时,automake会改用一般软件包的 标准来检查. bin_PROGRAMS 这个是 指定我们所要产生的 可执行文件的 文件名.如果你要产生多个可执行文件, 那么在各个名字间用空格隔开
/aclocal 执行libtoolize遇到上面提示的错误时,可能是因为configure.ac和Makefile.am文件是dos格式导致的,使用dos2unix转换一下后再执行,问题可能就解决了...如果是在windows上使用git,建议设置不转换文件格式: git config --global core.autocrlf false git config --global core.safecrlf
; LANG=zh_CN.UTF-8 LC_ALL="zh_CN.UTF-8" ##确保可以正常显示,否则请检查当前环境的locale配置,以及当前环境或者客户端已设置好支持UTF-8中文字符显示...,将自动安装到/usr/local/mmseg3/etc中 ##中文分词测试,显示不正常,请检查当前环境下的locale和UTF-8中文字符显示设置 $ /usr/local/mmseg3/bin...csft_mysql.conf 测试数据:var/test/documents.sql PHP程序:api/test_coreseek.php 测试说明:请先将测试数据导入数据库,并设置好配置文件中的...在 csft-4.1/configure.ac 文件中,查找: [plain] view plain copy print?...utf8来取代 default-character-set=utf8即可) 注:如果没有[client]就手工加入[client]段 ( 5.0以上版本修改方法: 修改/etc/my.cnf 中的设置
今天特别花1688在51buy.com上买了台同方的笔记本用于mooon的开发,先是安装了Fedora,觉得不好,想安装openSuSE,但发现安装包太大,最后仍选择了ubuntu 12.04,默认没有安装...Convert Makefile.am from the format of DOS to UNIX OK....Convert Make.rules.in from the format of DOS to UNIX OK. configure.ac:64: error: possibly undefined macro
领取专属 10元无门槛券
手把手带您无忧上云