cmake与autoconf+automake的对比

lenovo联想拯救者Legion Y9000P 2022款2023款2024款笔记本电脑(82RF,82WK,82WQ,83DE,83DF)原装出厂Windows11预装OEM系统镜像下载 联想原装出厂系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、Office办公软件、联想电脑管家、联想浏览器、联想软件商店、legionzone控制中心等预装程序。链接:https://pan.baidu.com/s/1YBji_oh7xOkq-NxnS8Mm8g?链接:https://pan.baidu.com/s/1S7_enXmuoja1a9ASvUT5Fg?拯救者Legion Y9000P IRX9H 2024款【83DE】原厂Win11系统包。 阅读详情

      首先,拿他们对比本身没有太多的意义,他们都是产生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

Autosar软件组件分析及ARXML文件分析 阅读详情

相关推荐

Silvaco TCAD 2018安装后,如何配置TonyPlot 5.0.22.R并解决绘图报错?

本文详细介绍了在Windows系统上安装Silvaco TCAD 2018后,如何正确配置TonyPlot 5.0.22.R并解决常见的绘图报错问题。内容包括版本兼容性分析、环境变量设置、常见错误解决方案以及性能优化建议,帮助用户顺利完成仿真结果的可视化工作。

weixin_31031711的博客 420

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

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

weixin_30598225的博客 538

STM32中断实战:用ITR9606红外传感器DIY转速计数器(附完整代码)

本文详细介绍了如何使用STM32中断机制和ITR9606红外传感器DIY高精度转速计数器。从传感器选型、中断配置到抗干扰设计,提供完整的实战指南和优化代码,特别适合嵌入式开发者和硬件工程师快速实现工业级转速检测系统。

weixin_29159613的博客 288

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

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

Emma_YeNT的博客 732

工业预测模型避坑指南:PHM2012轴承数据实战中,LSTM、CNN、Transformer到底怎么选?

本文深入探讨了工业预测模型在PHM2012轴承数据下的选型策略,对比了LSTM、CNN和Transformer等主流模型在轴承寿命预测任务中的表现。通过真实实验数据,提供了可复现的选型决策框架,帮助工程师根据数据规模、硬件条件和精度要求选择最佳模型。文章还揭示了工程落地中的隐藏陷阱,如数据不均衡和工况迁移挑战,并提出了解决方案。

weixin_33694172的博客 493

六轴机械臂正逆解计算

机械臂运动学就是。包括(Forward Kinematics)和(InverseKinematics)两部分。正运动学就是逆运动学则是关节变量->机械臂末端执行器的姿势=正向运动学机械臂未端执行器的位姿->关节变量=逆向运动学。

gaoxiaochan的博客 1万+

automake 框架_cmake与autoconf+automake的对比

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

weixin_42813171的博客 436

Thor芯片部署

英伟达Jetson Thor芯片性能分析与应用现状 摘要:英伟达最新发布的Jetson Thor芯片基于Blackwell架构,官方宣称AI算力达2070TFLOPS(FP4),较前代Orin提升7.5倍,配备14核Arm CPU和128GB内存。然而实际量产版算力缩水至700TOPS,且因4nm制程良率问题多次延期至2025-2026年交付。该芯片支持FP4/FP8量化、Transformer引擎等先进特性,适用于自动驾驶、机器人等边缘AI场景,但受供应链限制,国内厂商倾向自研方案。开发者可通过JetPa

xiaomu_347的博客 430

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

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

weixin_30952735的博客 287

智能座舱SoC平台横评:SA8155P、SA8255P、SA8295P、MT8678、MT8628 谁是下代车机首选?

高通SA8295P以PC级架构、强悍AI算力,代表安卓阵营迈向“本地大模型+空间计算”阶段;联发科MT8678则凭借低功耗 + 高带宽,成为副驾多媒体/副屏智能化的性价比之王。在座舱设计中,SoC平台决定了你能给用户什么样的交互方式,选型时切忌只看跑分,而要回归“体验-热设计-平台生态”的三角平衡。

weixin_43199439的博客 3358

YOLOv11涨点改进 | 首发全网创新、主干改进篇 | AAAI 2026 | PartialNet 主干让 YOLOv11 更加强大!引入部分通道机制 和 部分注意力卷积,全方面提升了模型的性能

本文提出PartialNet主干网络改进YOLOv11的方法,通过部分通道机制(PCM)和部分注意力卷积(PATConv)提升模型效率。PartialNet将特征图通道拆分并应用不同操作,显著减少计算量和内存占用。主要创新包括:1)部分通道机制实现计算优化;2)三种注意力模块(PATch/PATsp/PATsf)增强特征提取;3)动态部分卷积(DPConv)自适应调整计算复杂度。文章详细提供了代码实现和YOLOv11集成方法。

Ai缝合怪、助力小伙伴高效发论文 268

cmake与autoconf+automake的对比 .

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

靓靓软件工作室 176

点云从入门到精通技术详解100篇-基于三维点云的机器人抓取位姿检测(续)

集到的深度信息会存在噪点,因此需要将生成的场景点云进行预处理,获得平滑、降采样处理场景点云,本文设计的预处理操作更能从冗杂的场景点云中提取清晰、平滑的目标点云,便于后续的抓取位姿采样,提高后续算法的处理效率。因此需要对场景点云进行适当的分割,仅保留目标物体的点云,整个过程可以通过。场较小时,空间中的点云密度会更加提高;觉子系统的效率,再保持全局点云几何形状不改变的前提下,通过对目标点云进行。体素降采样可以快速地减少点云数据并同时保持点云的形。个点,由于我们实施抓取的目标物体只占整个场景点云图的一部分,

getusushu的博客 773

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

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

happylzs2008的专栏 371

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

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

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

cmake与autoconf+automake

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

342

数学建模模型总结

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

linux 项目打包发布(autoconf) cmake3

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

xiaoxiaoyu85的专栏 2067

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

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、付费专栏及课程。

余额充值