Use CMake notes
2023-04-18 15:16:09 时间
Whay need the CMake?
如果只是构建一个只有一个main.cpp的小型项目,那么确实不需要CMake, 直接GCC、G++编译,或者写个build.sh脚本即可, 不需要把简单的问题搞复杂化。
$ g++ main.cpp -o cmake_hello
但是如果你的项目分了很多模块,导入了很第三方源码、库文件等,那么编译也是个复杂问题,之前的先驱们为了将编译这一复杂过程封装起来,就发明了Makefile,过了一段时间,人们觉得Makefile还是过于复杂,又在基于Makeile的基础上又封装出了CMake,这下现在的人就能使用几条简单的语法就能编译一个复杂工程了。
My goal of using CMake
我现在使用CMake还没有遇到高级的需求,都是做一些简单的事情,比如:
- 看懂Clion项目自动创建的CMakeLists.txt
- 能使用Clion添加编译配置,正常编译
- 导入第三方源码、库文件
- 为不同系统(WINDOWSLINUX)生成不同的动态库文件
Compilation record in Windows
- 环境安装记录
- 安装Cygwin64, 安装的时候需要勾选gcc-core、gcc-g++、make、gdb、binutils,cmake这个几个套件。
https://blog.csdn.net/deniro_li/article/details/104457735 - 安装Clion
- 编译记录
- 在项目根目录下写好CMakeLists.txt后
- 打开Cygwin64 Terminal
- cd d:/ (在cygwin下转到D盘)
- 进到你的项目
- 执行编译命令
$ cmake CMakeLists.txt
// You will notice that, cmake is identifying compiler versions and configurations with default information.
$ make all
#or
$ make cmake_hello
- 进入~your projectcmake-build-debug
./main.exe
以上的步骤,在Clion里只需要Shift + F10 即可。
Reference
CMake Turorial
https://medium.com/@onur.dundar1/cmake-tutorial-585dd180109b
相关文章
- 我设计的网站的分布式架构
- 如何设计一门语言(三)——什么是坑(面向对象和异常处理)
- 【超详细教程】使用Windows Live Writer 2012和Office Word 2013 发布文章到博客园全面总结
- Linux.NET学习手记(2)
- 伴随我成长的编程书
- Fish Li 该如何帮助您呢?
- 优化反射性能的总结(下)
- 优化反射性能的总结(中)
- DIY 一套正版、免费、强大的 Visual Studio 2012 IDE
- 优化反射性能的总结(上)
- 逆变与协变详解
- 程序员面试什么最重要?
- HTTP Live Streaming直播(iOS直播)技术分析与实现
- 协议森林14 逆袭 (CIDR与NAT)
- 空难与软件开发(一)
- 协议森林13 9527 (DNS协议)
- 浅谈SQL Server中的三种物理连接操作
- HTTP协议 (六) 状态码详解
- 协议森林11 涅槃 (TCP重新发送)
- LINQ 图解