首个《CMake理论与实践》视频教程来啦!
原文链接CMake是个非常好用的跨平台自动化构建工具,程序猿(程序媛)们或多或少都接触过,有人这么评价CMake:CMake 不再使你在构建项目时郁闷地接近崩溃了Write once, run everywhere一个用了就停不下来的自动化构建工具什么是CMake?CMake 是"Cross platform MAke"的缩写。一个开源的跨平台自动化建构系统,用来管理程序构建,不相依于特定编译器需
CMake是个非常好用的跨平台自动化构建工具,程序猿(程序媛)们或多或少都接触过,有人这么评价CMake:
-
CMake 不再使你在构建项目时郁闷地接近崩溃了
-
Write once, run everywhere
-
一个用了就停不下来的自动化构建工具
什么是CMake?
CMake 是"Cross platform MAke"的缩写。
-
一个开源的跨平台自动化建构系统,用来管理程序构建,不相依于特定编译器
-
需要编写CMakeLists.txt 文件来定制整个编译流程(需要一定学习时间)
-
可以自动化编译源代码、创建库、生成可执行二进制文件等
CMake有什么优点?
CMake常用于用C/C++/Java构建的项目,CMakeLists.txt里包含了构建项目的整个过程,使用时无脑操作即可自动化构建好当前项目,并配置好第三方库,简直不要太爽!代码移植到不同平台也非常方便,再也不用折腾“配环境、链接库”这些令人郁闷的事情了。总结一下CMake优点:
-
开源,使用类 BSD 许可发布
-
跨平台使用,根据目标用户的平台进一步生成所需的本地化 Makefile 和工程文件,如 Unix的Makefile 或 Windows 的 Visual Studio 工程
-
能够管理大型项目,比如OpenCV、 Caffe、 MySql Server。这里多说一句,SLAM、三维重建领域的项目几乎都是用CMake管理的。
-
自动化构建编译,CMake 构建项目效率非常高。
-
为开发者节省大量时间,工程实践必备。
如何学习CMake?
SLAM、三维重建这些项目基本都是用CMake管理,如果你不懂CMake,会给工程实践带来很多隐患。很多人只会用别人写好的CMakeLists.txt来编译构建,当学习调试时出现相关报错时往往都不知所措,如果自己从头构建一个项目更是难上加难。
网络上关于CMake的介绍非常少,尤其是适合小白的通俗易懂,实例丰富的讲解更是没有,因此笔者做了一个系列的教学视频《CMake理论与实践》,可能是全网唯一一个CMake理论+实践入门的视频教程,总共9个短小精湛的小视频,看完后基本就能看懂、修改CMakeLists.txt,甚至自己编写来构建项目了,提纲如下:
《CMake理论与实践》系列视频发在了知识星球:《从零开始学习SLAM》里,目前已经更新一半。
除了CMake,星球里还有大量SLAM、三维视觉相关的答疑和学习资料,每天都有不少优质的内容产出。后续会推出更多“接地气、重实践”的系列教程。知识星球介绍点击:视觉SLAM图文/视频课程+答疑+学习路线全规划,SLAMer必看!
学习之路如有人指点会事半功倍,每天和圈子里的人交流(甚至只是围观)也能受益匪浅,工欲善其事必先利其器,话不多说,欢迎加入!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)