Makefile.am和makefile.in生成Makefile
很多时候,我们在网上下载的linux开源软件都会遇到一个问题,就是源码里面没有直接的makefile
,但是它有Makefile.am
和makefile.in
或者它有Makefile.am
和configure.in
,这里就不详细解释他们直接的关联,直接给出如何操作生成makefile
。
具体操作步骤如下:
1. 执行aclocal
,产生aclocal.m4
文件
aclocal是一个perl 脚本程序,它的定义是:
aclocal -create aclocal.m4 by scanning configure.ac
aclocal
根据configure.in
文件的内容,自动生成aclocal.m4
文件。而aclocal.m4
文件中,包含了生成configure
文件所必须的宏。
2. 执行autoconf
,生成configure
文件
autoconf
会根据configure.in
和aclocal.m4
文件,生成configure
文件。
3. 执行automake
命令,产生Makefile.in
automake --add-missing
automake
会根据Makefile.am
文件产生一些文件,包含最重要的Makefile.in
。前面所生成的configure
,会根据Makefile.in
文件,来生成最终的Makefile
文件。
4. 执行configure
命令,生成Makefile
文件
这样,就产生了编译所需要的Makefile
文件。运行make
,即可编译。
./configure
如果我们有了
Makefile.am
和makefile.in
那就可以执行第四步了。
这里在进行第四步的时候很可能会遇到一个问题:
error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
出现该情况是由于c++编译器的相关package没有安装。
以Ubuntu为例,解决如下:
#sudo apt-get install build-essential
以RED HAT为例:
# yum install glibc-headers
# yum install gcc-c++
这样子有了makefile
之后我们就可以愉快的make
了!!
Makefile.am和makefile.in生成Makefile相关推荐
- 自动生成Makefile的全过程详解
automake/autoconf入门 作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefil ...
- ./configure 自动生成makefile
新建helloworld目录,里边有一个源码文件helloworld.c. $ autoscan $ ls configure.scan helloworld.c 新生成的文件configure. ...
- 例解 autoconf 和 automake 生成 Makefile 文件
http://www.ibm.com/developerworks/cn/linux/l-makefile/ 生成 Makefile 的来龙去脉 首先进入 project 目录,在该目录下运行一系列命 ...
- Linux 用qmake快速生成makefile
1.简介: qmake是Trolltech公司创建的用来为不同的平台和编译器书写Makefile的工具.是qt工具包的一部分.在Unix&linux上写程式的人大概都碰过Makefile.用 ...
- linux新建好文件后怎么编译,使用autoconf生成Makefile并编译工程的步骤
前言 在Linux下,编译和链接需要用Makefile,而写好一个Makefile可不容易,写出一个规范的Makefile更是麻烦.我们可以利用autoconf来生成一个Makefile,尤其在大型工 ...
- 使用Automake和Autoconf生成Makefile
automake 所产生的 Makefile 除了可以做到程序的自动编译和链接 外,还可以用来生成各种文档(如manual page.info文件),可以将源代码文件包装起来以供发布.所以程序源代码所 ...
- linux清除configure文件_在Linux操作系统下自动生成Makefile的方法
在Linux操作系统下进行开发,编写Makefile似乎是不可缺少的事情.但是对于一个比较大的工程,编写一个符合规范的Makefile并非易事.而且由于Makefile的各种显式,隐式规则,加之平时并 ...
- Ubuntu下使用cmake结合CmakeLists.txt生成makefile文件并进行编译
转自1:https://www.cnblogs.com/cv-pr/p/6206921.html 转自2:https://blog.csdn.net/qqwangfan/article/details ...
- linux系统中自动生成snap文件_在Linux操作系统下自动生成Makefile的方法
在Linux操作系统下进行开发,编写Makefile似乎是不可缺少的事情.但是对于一个比较大的工程,编写一个符合规范的Makefile并非易事.而且由于Makefile的各种显式,隐式规则,加之平时并 ...
最新文章
- hdu 2454 Degree Sequence of Graph G
- atomic与nonatomic,assign,copy与retain的定义和区别
- python乘法口诀表-用python打印99乘法口诀表
- 40+张最全Linux/C/C++思维导图,收藏!
- 深度学习pytorch--线性回归(二)
- cuda 核函数 for循环_【CUDA 基础】4.4 核函数可达到的带宽
- c语言实现各种排序,c语言实现各种排序算法
- 计算机软件等级认证,中国计算机学会推出软件非专业级别能力认证
- MSCI 成份股 清单
- 如何使用BetterZip的压缩密码管理器?
- 管螺纹如何标注_螺纹知识,这一次搞全了!
- PGP加密软件介绍、下载地址(官方发行最新版)及安装教程
- 防火墙和代理服务器之间有什么区别
- 天朝有一个乞丐姓洪,去天桥要钱 第一天要了1块钱 第二天要了2块钱 第三天要了4块钱 第四天要了8块钱 以此类推 问题: 洪乞丐干10天,收入是多少?
- 淘宝七天自动确认收货,可以怎么实现?
- Spring源码分析总结(二)-Spring AOP 解析aop:aspectj-autoproxy
- 印光大师、净空法师:法师、居士示现神通需注意哪些事项?
- Robocup3D项目搭建
- 1 Go语言开发环境搭建详细教程+go常见bug合集【Go语言教程】
- 打卡网红IP品牌奶茶店,好喝又好看的茶天娜
热门文章
- 3.4 SE55表维护生成器
- aop阻止方法运行_新型AOP高级氧化高浓度COD废水处理系统介绍
- 笔记本安装centos7.6网络的配置_可以放入口袋里面的笔记本电脑:国产黑科技,户外工程师必备利器...
- java wait 参数_java中wait()和join()方法的区别是什么
- 8.0强行转换后变成了7_血糖7至8正常吗?控制标准不能一概而论,看你的血糖应该在多少...
- STM32那点事(5)_ADC(中)
- python七段数码管绘制秒表_Python绘制七段数码管实例代码
- ArrayList理解(5)与vector区别
- vue页面传参(多个参数传值)与接参 - 代码篇
- Z-blog拓源纯净主题