Jetbrains永远的神

工欲善其事,必先利其器。Jetbrains家的IDE可以说是永远的神了,真的是谁用谁知道,都1202年了,还不整个这个星球最智能的IDE试试?

准备工作

既然要开发ESP8266,那编译环境一定必不可少,这里请根据需求食用配置环境的教程

  • 手动配置过程
  • 自动配置过程(算半自动吧)

下载安装CLion

在Jetbrains官网下载CLion,众所周知,CLion是一款商业软件,至于如何获得许可嘛懂的都懂(划掉) 至于如何安装网上都有教程,这里就不赘述了 然后,CLion是有中文插件的,下载方法参见百度

下载MinGW-w64

虽然我们这里从头到尾都用不到这东西,但CLion不配置它不工作啊可恶 从SourceForge的MinGW-w64工程下载它,找个合适的地方解压

更新:最新版的CLion内置了MinGW,不用手动下载啦w

配置CLion

配置万恶的MinGW,环境里填上刚解压的MinGW路径

更新:最新版的CLion打开工具链设置会看到内置的MinGW

ESP8266热点模式传输速度 esp8266热点配置_c++

新建工程

新建一个C++可执行文件项目,选择项目位置

ESP8266热点模式传输速度 esp8266热点配置_c++_02

打开设置,配置CMake,这里CMake选项填-G Ninja -Wno-dev,然后点击环境编辑框后面的图标打开环境变量设置

ESP8266热点模式传输速度 esp8266热点配置_cmake_03

ESP8266热点模式传输速度 esp8266热点配置_c++_04

在环境变量设置菜单中,取消掉包括系统环境变量选项 点击加号添加名称为IDF_PATH,值为SDK路径,例如我的路径是E:\Environment\ESPIDF\ESP8266_RTOS_SDK 再点击加号添加名称为PATH,值为所有工具的路径以分号;分隔,例如我的值是E:\Environment\ESPIDF\ccache;E:\Environment\ESPIDF\cmake\bin;E:\Environment\ESPIDF\git\cmd;E:\Environment\ESPIDF\idf-tools;E:\Environment\ESPIDF\ninja;E:\Environment\ESPIDF\python3;E:\Environment\ESPIDF\xtensa-lx106-elf\bin,这里我使用的是ESP8266编译环境的手动配置过程配置后得到的路径,也可以使用ESP8266编译环境的自动配置过程得到的路径,效果是相同的

ESP8266热点模式传输速度 esp8266热点配置_c++_05

右键 > 打开于 > Explorer 删掉除.idea外的所有文件目录

ESP8266热点模式传输速度 esp8266热点配置_cmake_06

ESP8266热点模式传输速度 esp8266热点配置_intellij idea_07

把ESP8266_RTOS_SDK\examples\get-started\hello_world目录中的所有文件和目录复制到HelloWorldESP

ESP8266热点模式传输速度 esp8266热点配置_cmake_08

回到CLion的编辑器,选择文件 > 重新加载CMake项目

ESP8266热点模式传输速度 esp8266热点配置_物联网_09

好了,见证成功

ESP8266热点模式传输速度 esp8266热点配置_intellij idea_10

现在点击右上角的编辑配置,将目标设置为所有目标并确定

ESP8266热点模式传输速度 esp8266热点配置_cmake_11

ESP8266热点模式传输速度 esp8266热点配置_c++_12

点击右上角的锤子图标,开始第一次构建,第一次构建会很慢,这样就编译完成了

ESP8266热点模式传输速度 esp8266热点配置_cmake_13

大功告成

ohhhhhhhh

事后

我发现,在CLion中没法打开Config配置菜单,所以把那个菜单作为一个外部工具写进CLion,这里的程序是cmd,参数是/c start "Espressif IoT Development Framework Configuration" cmd /c "chcp 437 && cmake --build $CMakeCurrentBuildDir$ --target menuconfig || pause",工作目录是$ProjectFileDir$

ESP8266热点模式传输速度 esp8266热点配置_物联网_14

这样在工具栏中就有配置菜单的选项了

ESP8266热点模式传输速度 esp8266热点配置_物联网_15

ESP8266热点模式传输速度 esp8266热点配置_c++_16