lemonboard 发表于 2024-9-25 23:20

《Cmake构建实战》第一章之本地环境搭建

<div class='showpostmsg'> 本帖最后由 lemonboard 于 2024-9-25 23:22 编辑

# 《Cmake构建实战》第一章之本地环境搭建
&emsp;&emsp;作为一名嵌入式工程师,已经工作多年。开始几年仅做MCU的项目开发,从8位AVR单片机到现在火的不要不要的STM32,我都是使用商用的编译器来做主编译器,如Keil,IAR。对于编译过程,我也仅仅是点点鼠标,或者按一下“F7”快捷键。
&emsp;&emsp;情况变化是在最近的项目,涉及到了嵌入式Linux应用程序开发,要使用GCC与Makefile来实现编译。由于水平有限,仅仅使用公司前辈编写好的makefile文件来完成项目,虽然几次努力试图掌握makefile的语法,但终觉不得其法,未得其精髓。一翻探究与调研,决定放弃makefile的深入学习,转而学习CMake,毕竟CMake的语法与编写行数要显著少于makefile。我觉得这也算是跟上技术潮流吧!正好遇上咱们论坛发起CMake的学习活动,故一边看书学习,一边练习分享!欢迎大家批评指正,共同学习进步!
&emsp;&emsp;我在阅读完成第一章后,与作者遇到的学习困难点不约而同。所以,我也首先搭建我的实验环境,为后面动手操作提供基础,也只有动手操作后才印象深嘛——“纸上得来终觉浅,绝知此事要躬行。”
&emsp;&emsp;我使用windows 10专业版,VScode编辑器,GCC与CMake等工具。具体版本如下图所示:



&emsp;&emsp;我们先编写一个简单的文件做测试,即使用命令行的方式通过GCC来编译一个hello.c的源文件的应用程序。

```c
#include <stdio.h>
#include <stdint.h>
int main(int argc, char const *argv[])
{
    printf("hello eeworld\r\n");
    return 0;
}
```
&emsp;&emsp;然后运行命令。
```shell
gcc hello.c -o hello.exe
```

&emsp;&emsp;开发测试的硬件环境我们搭建完成,接下来,我们就尝试使用gcc来编译我们的项目工程了。



&emsp;&emsp;对于单个文件的简单程序来说,直接使用命令行的方式肯定是足够的。但对于常见的应用程序,肯定不止1个文件这么少。这时肯定就需要编写编译规则了。
&emsp;&emsp;我们继续阅读第二章,《《Cmake构建实战》第一章之入门CMake》,欢迎大家锁定EEWORLD,关注我。

# Hint:
1. 在安装完成MinGW后,需要手动修改MinGW-make.exe为make.exe
2. 添加gcc的bin文件夹到系统path
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                               
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

nmg 发表于 2024-9-26 17:45

<p><img height="63" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/victory.gif" width="61" />关注关注</p>

breeze_i 发表于 2024-9-29 09:38

<p>大佬,能分享一下这本书的配套资源吗?</p>

<p>复制收文件盘口令,打开最新版百度网盘即可分享文件给我#LrLMZmnEPE#</p>

<p>https://pan.baidu.com/disk/main#/transfer/send?surl=AB0AAAAAABK4eA&amp;pcode=#LrLMZmnEPE#</p>

freebsder 发表于 2024-9-29 14:31

<p>clion和visual studio都直接支持cmake呀</p>

lemonboard 发表于 2024-10-5 09:14

freebsder 发表于 2024-9-29 14:31
clion和visual studio都直接支持cmake呀

<p>嗯嗯,现在CMake的支持程度非常高。</p>

<p>我看我爱人的Android Studio也是使用cmake来编译项目了</p>

lemonboard 发表于 2024-10-5 09:14

breeze_i 发表于 2024-9-29 09:38
大佬,能分享一下这本书的配套资源吗?

复制收文件盘口令,打开最新版百度网盘即可分享文件给我#LrLMZmn ...

<p>这是啥啊</p>

breeze_i 发表于 2024-10-11 17:59

lemonboard 发表于 2024-10-5 09:14
这是啥啊

<p>百度网盘收集文件的一个功能,复制到百度网盘APP可以上传文件给我</p>
页: [1]
查看完整版本: 《Cmake构建实战》第一章之本地环境搭建