文章转自  https://www.cnblogs.com/skyofbitbit/p/3708216.html

STM32CubeIDE 其实就是STM32CubeMx + eclipse

首先,Windows下用eclipse玩C/C++用到一下三个东西:

1、  eclipse

2、  CDT(一个在eclipse开发C++的插件)

3、  Cygwin(Windows平台的unix模拟程序,包含了gcc和g++),有人说用MinW,但我选择了Cygwin,我想是差不多的,我之所以选择Cygwin是因为它更能大部分模拟unix命令,也很方便。

一、Eclipse下载与安装

Eclipse可以直接去官网下载,Google就可以搜到网址,不多说了。Eclipse是免安装的,下载直接用。

二、CDT下载与安装

CDT可以直接下载带有CDT版本的eclipse,亦或者在eclipse的help菜单处查找更新,下载,安装,尤其你是Java程序员的时候。更新方法如下:

1.        打开eclipse,然后:

2.        再在相应的地方输入以下网址,回车,下面出现的可更新软件选项全都勾上,如图:

http://download.eclipse.org/tools/cdt/releases/indigo

然后点击next,下载,就OK了。

当然,如果你做android的,直接去android的官方开发网站下载android开发版本的eclipse,也就是eclipse+ADT其中也带有CDT了。

3.        Cygwin下载与安装

Cygwin同样直接Google搜索官方网站下载安装程序,打开安装程序setup.exe,然后选install from internet,接着选择存放位置,代理服务器什么的,最后选择好下载服务器(默认会选择最快的服务器),进入下载列表,这个列表就是要求你下载什么程序的列表,请务必安装以下程序,最恼人的就是,这些必备的程序统统都不是默认安装的。所以,请使用搜索功能,找到这些程序,然后自己勾上,务必安装:

1.        搜索g++和gcc,把相应的程序都勾上;

Gcc的太多了,不截图了,有gcc的能勾都勾上吧,宁杀错,不放过!

顺便说一下,我之前已经安装好了,所以可以看到图中New这一栏中是写着keep,如果没安装,应该是写版本号。如果你真的漏掉什么没安装,重新进入这个setup的时候务必在右上角选择keep这个选项,否则默认下选Cur会把所有软件都重新安装一遍,时间会很长!

2.        搜索gdb,同样勾上devel目录下的程序(我已经装了,所以是显示keep):

3.        搜索make,同样勾上debug和devel目录下的程序。

然后点击next,就可以下载和安装了,第一次过程有点长,耐心……

三、配置

关键时候到了,这个时候就开始配置了。其实配置并不是很复杂,但真心需要耐心在茫茫eclipse的各个选项中慢慢摸索。Ok一步步来。

1.        配置环境变量

貌似开源阵营最喜欢搞环境变量,cygwin也不例外,毕竟是从Linux过来的东西。配置过环境变量的人都应该轻车熟路,我的是vista系统,其他系统如何设置环境变量可以上网Google,不难:

右击我的电脑->属性->高级环境设置->环境变量,然后在系统变量里面找到path这个变量,双击,在原有的基础上加上cygwin的bin路径(注意,每个路径之间需要有分号隔开)。例如我的cygwin是保存在D:\linux\linux,那么加入的环境变量路径就是D:\linux\linux\bin。

然后点击确定,保存。按ctrl+r,在弹出的cmd对话框中试试以下命令是否ok?

输入:make –v会有make的版本信息打印出来,同理gcc –v,gdb -v和g++ -v也都有版本信息打印出来,这些没问题了,就表明cygwin的配置到此结束了。

2.        配置eclipse

首先,启动eclipse,在菜单中点Windows->preferences,然后勾上图中所示选项,这是让cygwin编译生成Windows的PE文件:

若之后调试时出现no binaries错误(设置上面这一步不太可能出现这个问题),则去菜单project->preferences,勾下面图中这个选项:

接着就可以新建工程了,打开eclipse,新建一个C++工程:

点击next,然后输入项名称,并在tool chain上选cygwin

没有cygwin这个tool chain怎么办?那就选other tool chains,最后点finish,项目就生成了:

如果之前选的是other tool chains是没有includes这个目录的,这个includes目录怎么出来的呢?右击项目名称,选properties,在弹出的对话框中选择C/C++ build->Tool chain Editor:

在current toolchain的下拉列表中选cygwin,如果下拉列表没有cygwin,就把上面那个Display compatible tool chain only那个勾去掉,下拉列表就会出现cygwin了。请确保usedtools中包含cygwin的C++ compiler和linker,若不包含,就点select tools按钮加上,这个操作很直观,就不截图了。

确定保存这些选项后,回到主界面,这个时候就会发现includes目录出现了。

接着,单击New按钮,也可以右击工程名,选择New,新增一个cpp文件:

输入经典的hello world:

按理来说这个时候点击就可以编译链接程序了:

但这里只会编译链接,但不会运行,也不会调试程序,而是出现没有找到program的错误。eclipse没有送佛送到西,好人做到底,我们还得手动做个简单的配置:

进入debug configuration对话框,选择C/C++application->test debug:(test是我的工程名)

点击search project按钮,在弹出的对话框中:

选择刚才编译出来的exe文件,再试一次:

Hello world终于打印出来了:

这个时候你可以设置断点,单步调试程序了,配置基本到此结束,开始享受传说中的gcc/g++和gdb吧

STM32CubeIDE 编译C/C++程序的更多相关文章

  1. 使用VS+VisualGDB编译调试Linux程序

    Linux程序开发变得越来越多,越来越多的程序.产品需要跨平台,甚至有些开源项目只支持Linux平台,所以掌握Linux开发变得越来越重要. 但是对于习惯了Windows下的开发,使用了VS这个宇宙第 ...

  2. 如何编译ReactNative示例程序Examples

    通过示例程序可以看到一些基本组件的使用,对于学习ReactNative是很有帮助的. 编译示例程序需要将整个项目导入到androidStudio中,androidStudio导入项目时选择react- ...

  3. Ubuntu编译源码程序依赖查找方法

    ubuntu平时编译源码程序的时候会提示缺少相关的库或是头文件,可以按照以下两种方法进行查找,然后再安装相应的软件包. 1.使用apt-file查找头文件 安装apt-file sudo apt-ge ...

  4. VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0 ...

  5. 运行编译后的程序报错 error while loading shared libraries: lib*.so: cannot open shared object file: No such file or directory

    运行编译后的程序报错  error while loading shared libraries: lib*.so: cannot open shared object file: No such f ...

  6. 减小Delphi XE5编译出来的程序体积

    默认Delphi XE, XE2, XE3,XE4,XE5, XE6 ... 编译出来的程序体积很大. 一般用两个方法可以很大程度上减少程序体积. 一.在工程中用编译指令禁用RTTI 禁用的方法很简单 ...

  7. linux终端下 编译c语言程序

    linux终端下,编译C语言程序步骤为: 采用vi进行源代码编写,编写完成后,:wq存盘退出,如: vi test.c 在命令行下,运行gcc编译程序,生成执行码,如: gcc  -o test te ...

  8. VS编译的QT程序发布时产生的AppCrash问题

    至少我碰到了三个情况,都是AppCrash错误(以下都指VS2008的Release的设置) 第1个错误,报错模块是程序自己 我使用VS2008 Team with SP1和QT4.86编译程序,一直 ...

  9. 【转】VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application”

    原文网址:http://www.cnblogs.com/Dageking/archive/2013/05/15/3079394.html VS2012编译出来的程序,在XP上运行,出现“.exe 不是 ...

随机推荐

  1. 七 Spring的IOC的注解方式

    Spring的IOC的注解方式入门 引入注解约束,配置组件扫描 类上的注解: @Conponent  @Controller @Service @Repository 普通属性的注解   @value ...

  2. swoole 父子进程间通信

    <?php /** * 场景: * 监控订单表状态 父子进程通信 * 一个主进程 两个子进程实现 */ //设置主进程名 echo '主进程id:' . posix_getpid() . PHP ...

  3. tensorflow版helloworld---拟合线性函数的k和b(02-4)

    给不明白深度学习能干什么的同学,感受下深度学习的power import tensorflow as tf import numpy as np #使用numpy生成100个随机点 x_data=np ...

  4. STM32的程序升级

    IAP基础参考http://www.eeworld.com.cn/mcu/2018/ic-news112042038.html https://blog.csdn.net/tq384998430/ar ...

  5. Intellij Idea 下包建包,无论怎么建都在同一级,已解决(附图)

    1.很多新手,刚开始使用Intellij Idea的时候,项目建包都出现所建的包都在用一级. 2.这是因为,刚开始建项目的时候,Hide Empty Middle Packages是默认勾选的,只要去 ...

  6. CSP-J2019 纪念品

    Description: Solution: 第一天买入,第二天卖出,在干些别的,再把第二天刚卖出的再买回来,就相当于是啥也没干.也就是说手中的物品本身要算在手中的钱中.这也就是为什么 dp 的状态可 ...

  7. R语言 一个向量的值分派给另一个向量

    group = sample(seq(1,10),size = 20,replace = T) #这20个组分别属于1,...,10 v = rnorm(length(unique(group)),0 ...

  8. js对数字的处理:取整、四舍五入、数字与字符串的转换

    取整.四舍五入 向下取整Math.floor() 向上取整Math.ceil() 四舍五入Math.round()) 保留有效数位n.toFixed() 产生大于等于0小于1的随机数Math.rand ...

  9. Java连载80-数字类格式、随机数、BigDecimal

    一.数字类 1.关于数字格式化:java.text.DecimalFormat; 2.数字格式元素: # 任意数字 , 千分位 . 小数点 0 不够补零 package com.bjpowernode ...

  10. php后门拿下当前目录

    Weevely是一个模拟类似telnet的连接的隐形PHP网页shell.它是Web应用程序后期开发的必备工具,可以作为隐形后门程序,也可以作为一个web外壳来管理合法的Web帐户,甚至可以免费托管. ...