首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Autotools -- 自动编译链工程构建

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.

70920
您找到你想要的搜索结果了吗?
是的
没有找到

Linux下automake工具使用(自动构建Makefile文件)

一、前言 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也指明自己需要编译下级目录。

5.8K21

autotools及Yocto下通过autotools编译

此命令将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进行编译,然后将镜像烧录到板子上。

1.4K20

Autoconf编译配置

,是生成configure文件,configure是一个脚本,它能设置源程序来适应各种不同操作系统平台,并且根据不同系统来产生合适Makefile,从而可以使你源代码能在不同操作系统平台上被编译出来...,里面主要是根据configure.ac某些特定宏(如AC_DEFINE)生成#define和#undefine宏,configure将根据实际探测结果决定这些宏是否定义 按照automake规定规则和项目的目录结构...调用automake,将每个Makefile.am转化成Makefile.in,同时生成满足GNU编码规范一系列文件(带-a选项自动添加缺少文件,但有几个仍需要自己添加,执行automake前需执行...1:**每个目录一个Makefile.am文件;同时configure.acAC_CONFIG_FILES宏中指定输出所有的Makefile文件,例如: 2)**原则2:**父目录需要包含子目录...自定义目录: 根目录下Makefile.am添加如下内容: configdir=${prefix}/config => 定义一个自定义目录名称config,注意dir后缀是固定 config_DATA

1.1K50

Linuxconfigure,make,make install到底在做些什么

摘录一段对于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 `.

3.2K40

【Android RTMP】音频数据采集编码 ( 音频数据采集编码 | AAC 高级音频编码 | FAAC 编码器 | Ubuntu 交叉编译 FAAC 编码器 )

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.

73910

Linuxconfigure,make,make install到底在做些什么

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 `.

3.8K30

php autoconf 配置,automake,autoconf使用详解

三.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 这个是 指定我们所要产生 可执行文件 文件名.如果你要产生多个可执行文件, 那么各个名字间用空格隔开

69000

coreseek实现中文检索服务

; 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 设置

90230
领券