目录
首先需要创建或导入一个工程,如下图:

有两种方式可以进入工程的属性面板:
- 选中工程,右键点击
Properies.
![![[Pasted image 20230728102347.png]]](https://img-blog.csdnimg.cn/02e86b78707c4fd381bceff71b8fb203.png)
- 选中工程,按键 Alt + Enter.
进入工程属性面板之后,左侧是书签标记,右侧是该书签的展开配置项。 下面依次介绍每个配置项的意义和参数。
![![[Pasted image 20230728102633.png]]](https://img-blog.csdnimg.cn/a98a74f820884401a96313ae03295fd9.png)
-
Resource 资源
1.1. 可以看到当前资源的路径、类型、本地文件系统位置、最新修改时间、工程文本编码、新建文本编码。![![[Pasted image 20230728103013.png]]](https://img-blog.csdnimg.cn/b933020ab7874438a68ea406cb74b80c.png)
-
Linked Resource 链接资源
链接资源是指的在链接过程中可以使用的一系列的
路径变量指定文件系统中的位置,包括语法为"$(VAR)"的其他路径变量。链接资源的位置可以相对于这些路径变量指定。
-
![![[Pasted image 20230728103236.png]]](https://img-blog.csdnimg.cn/419cc077a54045a39a6d75fe9fbcbf7b.png)
-
Builders 构建工具
-
C/C++ Build 构建选项
点击C/C++ Build之后,可以看到右侧有一个配置下拉菜单,里面包含着当前工程所有的配置项,且可以对每个配置型单独做修改,互相之间不影响。在编译时,可以选择某一个配置编译,则使用的是在这个标签下的编译选项。![!\[\[Pasted image 20230728103739.png\]\]](https://img-blog.csdnimg.cn/fc4939d628924fcfb9b2b38565794e3d.png)点击配置管理,可以进行所有配置的管理,包括激活,新建,删除,重命名等操作。
![![[Pasted image 20230728104120.png]]](https://img-blog.csdnimg.cn/1d95ada0559a4e2b914e0e5ec939e3b8.png)
如果选择外部构建工具,则需要提供构建工具的路径和名称。 我们一般使用
make来作为构建工具使用。![![[Pasted image 20230728104228.png]]](https://img-blog.csdnimg.cn/940ac511524148f3b67950d0ed186c82.png)
Generate Makefiles automatically是会在工程目录下,自动使用配置名称生成输出文件夹,编译过程中的文件,都会保存在该输出文件夹下。
自动生成Makefile会在有文件修改、增删之后,自动扫描工程内的所有源文件,由IDE来确定是否需要重新编译。注: 开启之后,有时候会出现修改一个源文件,但是编译很多个其他不相关源文件的情况。
Expand Env. Variable Refs in Makefiles可以在Makefile使用环境变量,更有助于Makefile的生成。选项卡,描述Makefile中构建的行为模式。
![![[Pasted image 20230728104917.png]]](https://img-blog.csdnimg.cn/8b6fda1cf7064007a22a90ad0db113a9.png)
Stop on first build error在出现编译错误之后,就停止编译。 可以更加方便的查找错误出现的位置和原因,便于优先解决问题。 但是可能需要编译多次才可以完全编译成功。Enable parallel build开启并行构建,对于多核的CPU来说,可以使用 -j 选项,开启多核并行编译,加快编译速度。
Build on resource save (Auto build)在资源修改保存之后,自动编译。 不建议开启,否则每次保存都会启动编译。
Build每次点击编译按钮之后,都会进行的构建项目
Clean工程上右键,点击Clean Project时,需要构建的项目,多数是删除所有中间文件和生成文件。 不选择的话,Clean Project有可能不能使用。刷写策略,完成构建之后,刷写下方选择的资源。
为了解决有时候不自动刷新出 elf 和 hex 文件。
![![[Pasted image 20230728105552.png]]](https://img-blog.csdnimg.cn/dd69d42ddd794012a4d5a6d487a627c2.png)
高级构建步骤分为构建前和构建后。
![![[Pasted image 20230728105831.png]]](https://img-blog.csdnimg.cn/86cd31d92b194303a9b202161875fa09.png)
构建前,可以根据模板库,来生成一个输出当前 gcc 版本的工具。
![![[Pasted image 20230728112312.png]]](https://img-blog.csdnimg.cn/d0316ddb7b6b463b86873c8be00b56a3.png)
![![[Pasted image 20230728112406.png]]](https://img-blog.csdnimg.cn/475ca7730127401a853dbe1b8724a617.png)
也可以通过增加步骤选项,来手动执行开发者定义的步骤。
![![[Pasted image 20230728112435.png]]](https://img-blog.csdnimg.cn/2f58ad3903d54549b0efe6c74fdd8b57.png)
编译后步骤也同样,就是模板还多一点。其中包括创建hex和srec文件。并且可以输出size和section的信息,帮助开发者来确定当前内存使用情况,便于分析工程分配不合理问题。
![![[Pasted image 20230728112528.png]]](https://img-blog.csdnimg.cn/41dc8e66cf9448f7993058e17129825c.png)
Build Variables
编译环境变量中,可以添加相关的变量值,并在其他位置使用 $(VAR) 来使用该变量。
show system variables 可以看到系统定义的环境变量和工程定义的环境变量。
![![[Pasted image 20230728112750.png]]](https://img-blog.csdnimg.cn/6347e87f9c8e407f80654551f77ff11e.png)
例如下方框选的变量在生成hex文件的构建步骤中被使用。
![![[Pasted image 20230728112959.png]]](https://img-blog.csdnimg.cn/5b845acf5e814d2ab206858ab68aef2f.png)
logging
编译日志,开启之后,每次编译的信息都会保存到选择的文件内,便于分析错误。
![![[Pasted image 20230728113147.png]]](https://img-blog.csdnimg.cn/c675f9158f17443db5b8707de5e7f4f9.png)
Setting部分,在其他文章中有介绍。





![[NOIP2007 普及组] 守望者的逃离](https://img-blog.csdnimg.cn/d0435eb717264548a506d1d0bc6df5db.png)












