cmake与autoconf+automake的对比

第47节:cesium 热力图效果(含源码+视频) cesium 热力图效果 阅读详情

      首先,拿他们对比本身没有太多的意义,他们都是产生makefile文件的工具。cmake产生的晚,解决了很多autotools工具的问题。autotools是一个工具集具有强大的灵活性,但是因为步骤太多,配置繁琐,产生了很多的替代方案,cmake是其中最优秀的之一。当然很多其他替代品不会产生makefile文件而直接具有make的功能了。看到下图,你是不是感觉有些发晕。


不过还好,它是“八股文”,所有的步骤都是如此。

  1. 运行autoscan命令

  2. 将configure.scan 文件重命名为configure.in,并修改configure.in文件

  3. 在project目录下新建Makefile.am文件,并在core和shell目录下也新建makefile.am文件

  4. 在project目录下新建NEWS、 README、 ChangeLog 、AUTHORS文件

  5. 将/usr/share/automake-1.X/目录下的depcomp和complie文件拷贝到本目录下

  6. 运行aclocal命令

  7. 运行autoconf命令

  8. 运行automake -a命令

  9. 运行./confiugre脚本

我们再看看cmake的步骤:

  1. 编写CMakeLists.txt
  2. 运行cmake命令

9比2,当然不是比分是步骤。

那我们再来看一下他们的主要工作,他们的配置文件吧:

  • atuoconfig的配置文件configure.ac我们通过autosan生成,我们只需要修改就可以、autoconfig的配置文件Makefile.am我们需要自己手工从头编写;
  • cmake的配置文件CMakeLists.txt需要手工编写,当然cmake提供了gui的配置工具供大家使用;

我们再看看他们配置文件的内容吧,这是我们的比较的重点,因为这是我们实际使用的关键步骤:


autotoolscmake
变量定义name=...set(name, "...")
环境检测AC_INIT 
测试程序 
AC_PROG_CC
 测试函数库
AC_CHECK_LIB([pthread], [pthread_rwlock_init])
 AC_PROG_RANLIB 
测试头文件
 测试类型定义
 测试结构
 测试编译器特性
 测试库函数 
 测试系统调用
AC_OUTPUT
find_library(lib libname pathllist)
find_package(packename)
find_path(var name pathlist)
find_program(var name pathlist)
子目录SUBDIRS=add_subdirectory(list)
可执行文件bin_PROGRAMS=binname
binname_SOURCES=
binname_LDADD=
binname_CFLAGS=
binname_LDFLAGS=
add_executable(binname ${sources})
target_link_libraries(binname librarylist)
动态库lib_LIBRARIES=libname.so
libname_SOURCES=
add_library(libname shared ${source} )
静态库lib_LIBRARIES=libname.a
libname_a_SOURCES=
add_library(libname static ${source} )
头文件INCLUDES=
include_HEADES=
或CFLAGS=-I
include_directories(list)
源码搜索
aux_source_directories(. list)
依赖库LIBS=
LDADD=
target_link_libraries(binname librarylist)
标志CFLAGS=
LDFLAGS=
set(CMAKE_C_FLAGS  ...)
libtoolAC_PROG_LIBTOOL
lib_LTLIBRARIES=name.la
name_la_SOURCES=

安装设置
install(TARGETS targets...
[[ARCHIVE|LIBRARY|RUNTIME][DESTINATION 
< dir >][PERMISSIONS permissions...]
[CONFIGURATIONS[Debug|Release|...]]
[COMPONENT < component >][OPTIONAL]] [...])
其他文件EXTRA_DISTinstall(FILES files.. )
install(DIRECTORY dirs..)
条件语句使用Make的条件语句
if()
endif
if(my)
else(my)
endif(my)
while(condition)
endwhile(condition)
执行外部命令
exec_program(commd )
子模块
include()
信息输出
messge(STATUS "messge")
 项目
project(name)

我知道的就这些,大家可以帮忙指正补充。cmake相比autotool确实好用,包括KDE在内的很多大型项目也都在使用cmake。不过autotools的使用率仍旧比cmake要高。


转自:http://blog.youkuaiyun.com/cnsword/article/details/7542696

相关推荐

数学建模美赛O奖论文研读启示录——从模仿开始

数学建模美赛O奖论文哪些地方比较出彩?我们可以从中学到什么东西?可以从哪些地方进行模仿?我总结了一些O奖论文里我认为比较好的地方,跟大家一起学习交流!

小宇的修炼之路 5429

C实战:项目构建Make,Automake,CMake

C实战:项目构建Make,Automake,CMake 在本系列文章《C实战:强大的程序调试工具GDB》中我们简要学习了流行的调试工具GDB的使用方法。本文继续“C实战”的主题,对同样非常流行的构建工具Make的用法和原理一探究竟,并顺便看一下一些高级衍生产品。 1.Make基础 首先我们编写一个简单的C项目,以此项目在实战中学习Make的相关知识。更全面的介绍请...

weixin_30598225的博客 538

DVWA靶场实战:从搭建到渗透测试的完整指南

本文详细介绍了DVWA靶场的搭建与渗透测试全流程,涵盖LAMP环境搭建、Docker部署及集成环境安装三种方式。通过SQL注入、文件上传漏洞等实战案例,帮助读者掌握Web安全测试技巧,并提供防御方案与进阶调优建议,是网络安全学习的实用指南。

weixin_28312391的博客 488

Linux下automake工具生成C\C++库文件

automake生成Makefile流程 deb包生成过程 安装deb包并调用库文件

Emma_YeNT的博客 732

LabVIEW多界面应用开发:从启动器到主界面的切换架构与实现

在图形化编程领域,模块化与界面管理是构建复杂应用程序的核心。其原理在于通过清晰的程序架构,实现不同功能模块间的独立运行与协同工作,从而提升代码的可维护性和可扩展性。这种架构的技术价值在于能够有效管理应用程序的生命周期与资源,避免内存泄漏,并确保流畅的用户体验。在测控系统、自动化测试等工程实践中,常需实现如启动界面选择语言或模式后,无缝切换至主功能界面的场景。本文聚焦于LabVIEW环境,深入探讨如何利用动态调用、状态机等机制,并结合功能全局变量(FGV)与队列消息处理器(QMH)等热词技术,构建健壮的多界面

weixin_30802819的博客 263

ali140滑块

ali 140滑块采用补环境的方式进行逆向,需要的文件主要为这两个,其中collina.js是最主要的环境校验和参数加密的逻辑,这两个文件放本地进行补环境。然后挂上代理,先保证能够正常运行代码,补了些许后能够正常运行了,我们打印最主要的加密函数看看:n值就是得到:挂上代理看看鼠标事件,不管加密逻辑,关心入参即可:收集一些鼠标事件传进记录的函数。其余就是处理一些环境值,一些resetSA的逻辑就行。截图记录:

bboysteed的博客 1677

automake 框架_cmake与autoconf+automake的对比

首先,拿他们对比本身没有太多的意义,他们都是产生makefile文件的工具。cmake产生的晚,解决了很多autotools工具的问题。autotools是一个工具集具有强大的灵活性,但是因为步骤太多,配置繁琐,产生了很多的替代方案,cmake是其中最优秀的之一。当然很多其他替代品不会产生makefile文件而直接具有make的功能了。通常步骤:运行autoscan命令将configure.sca...

weixin_42813171的博客 436

解密美团外卖API:mtgsig和waimai_sign参数生成原理与Python实现

本文深入解析了美团外卖API中核心风控参数mtgsig和waimai_sign的生成原理与实现方法。文章详细拆解了waimai_sign作为业务数据签名、mtgsig作为请求环境签名的不同角色与生成逻辑,并通过Python代码示例演示了如何通过逆向工程、Frida动态Hook等技术手段模拟签名生成过程,为开发者理解移动端API安全机制提供了实战参考。

weixin_29325515的博客 552

automake生成静态库文件_cmake与autoconf+automake的对比

首先,拿他们对比本身没有太多的意义,他们都是产生makefile文件的工具。cmake产生的晚,解决了很多autotools工具的问题。autotools是一个工具集具有强大的灵活性,但是因为步骤太多,配置繁琐,产生了很多的替代方案,cmake是其中最优秀的之一。当然很多其他替代品不会产生makefile文件而直接具有make的功能了。看到下图,你是不是感觉有些发晕。不过还好,它是“八股文”,所有...

weixin_30952735的博客 287

12、硬件工程师笔试面试——MOS管(2025版本)

在设计和测试过程中,可以参考相关的EMC测试标准和指南,如CE认证EMC电磁兼容测试介绍 和电磁兼容性(EMC)测试方法与整改指南 ,以及电磁兼容(EMC)的标准与测试内容 ,来确保MOSFET的EMC性能符合行业标准。在高频应用中,MOSFET的开关速度对电路的整体性能至关重要。是一款高电压同步N沟道MOSFET驱动器,具有自举电源电压至114V的能力,宽VCC电压范围,自适应贯通保护功能,以及高达1.4A的峰值顶端栅极上拉电流,适用于分布式电源架构、汽车电源、高密度电源模块和电信系统等应用。

XU157303764的博客 7091

杰理可视化SDK开发-杰理AC1123N芯片SDK开发笔记合集

该文档主要描述 AC112N开发相关的使用说明和注意事项,收集并持续更新开发调试过程中的相关疑问和解答,对SDK介绍文档做一个补充说明。写作人:李永奉,参考项目MD-026H; AC112N-SDK项目帮助文档在杰理开发者平台(JL DP)'帮助'处进入,如本文档有与后续帮助文档或工具注释说明冲突,以后者为标准。

李永奉的博客 181

cmake与autoconf+automake的对比 .

首先,拿他们对比本身没有太多的意义,他们都是产生makefile文件的工具。cmake产生的晚,解决了很多autotools工具的问题。autotools是一个工具集具有强大的灵活性,但是因为步骤太多,配置繁琐,产生了很多的替代方案,cmake是其中最优秀的之一。当然很多其他替代品不会产生makefile文件而直接具有make的功能了。看到下图,你是不是感觉有些发晕。 不过还好,它是“八股...

靓靓软件工作室 176

深入理解 Terraform 中的资源更新与管理

摘要:本文探讨Terraform处理AWS安全组名称变更时的行为。当修改不可变属性(如安全组名称)时,Terraform会创建新资源并删除旧资源。通过状态文件比对所需状态与实际状态,Terraform对不可变属性采用"先创建后删除"策略,对可变属性则直接更新。实例演示了修改安全组名称和关联EC2实例时的处理过程,强调理解资源属性可变性对基础设施管理的重要性。(149字)

2501_90323865的博客 471

cmake与autoconf+automake的对比(图miss)

https://blog.youkuaiyun.com/cnsword/article/details/7542696 首先,拿他们对比本身没有太多的意义,他们都是产生makefile文件的工具。cmake产生的晚,解决了很多autotools工具的问题。autotools是一个工具集具有强大的灵活性,但是因为步骤太多,配置繁琐,产生了很多的替代方案,cmake是其中最优秀的之一。当然很多其他替代品不会产生...

happylzs2008的专栏 371

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

cmake与autoconf+automake

cmake与autoconf+automakes是同类的编译工具,本人常用的是cmake。 这有一篇对比的文章,记录一下。 cmake与autoconf+automake的对比 转载于:https://www.cnblogs.com/sword03/p/9322510.html...

342

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

linux 项目打包发布(autoconf) cmake3

1.autoconf简单实用 http://blog.youkuaiyun.com/dybinx/article/details/6764874 2.cmake和automake区别 首先,拿他们对比本身没有太多的意义,他们都是产生makefile文件的工具。cmake产生的晚,解决了很多autotools工具的问题。autotools是一个工具集具有强大的灵活性,但是因为步骤太多,配置繁琐,产生...

xiaoxiaoyu85的专栏 2067

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Linux下GNU Autotools工具基础教程

对于我们平时写的小的测试Demo程序,可能自己手动编写一个Makefile文件就可以编译整个项目了,但是对于一些大型的工程,包含多个源码文件夹、头文件文件夹、库文件文件夹,如果我们每个源码文件的Makefile文件都自己去编写会非常繁琐,所以这时候需要一些自动化工具来帮助我们简化项目的构建,这里比较

cmdos的专栏 71

再也不担心构建错误了

希望这篇文章可以理清autotools这个工具,了解其使用。前言说真的,autotools工具让我很头疼,各种类似的工具autolocal ,automake 以及生产各种相似的文件Ma...

423

SSM框架开发微信小程序商城实战指南

SSM框架(Spring+SpringMVC+MyBatis)是Java Web开发中经典的轻量级框架组合,通过Spring的IoC容器实现依赖注入,结合MyBatis的ORM特性简化数据库操作。这种架构特别适合需要快速迭代的中小型项目,在电商系统开发中能有效平衡开发效率与性能需求。微信小程序作为10亿级流量入口,与SSM后端的结合可以构建完整的移动电商解决方案,实现商品展示、订单管理、微信支付等核心功能。本文以weixin255项目为例,详解如何通过SSM框架处理微信登录鉴权、实现订单状态机,并分享Red

weixin_34293141的博客 222
上一篇: Linux ELF文件学习
下一篇: 操作系统对内存的管理
coo1fish
博客等级 码龄14年 22粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值