尝试一下Clion,抛开VS2017吧

尝试一下Clion,抛开VS2017吧

引言

在Windows上开发桌面应用或者动态库等,一定绕不开来自于微软的Visual Studio 20XX系列IDE,简称VS。

如果你是一个来自于Linux C++环境下的开发者,可能也会像我一样。

  • 快捷键不习惯

  • 明明编译成功,却还是报错,莫名其妙
    在这里插入图片描述
    在这里插入图片描述

  • 函数跳转还要选一次
    在这里插入图片描述

  • 筛选器和文件夹不一一对应,降低效率,总是投入不了编码,没有灵感。
    在这里插入图片描述

整个人都裂开了,要疯掉了。

当然这个时候有几个选择:

  • 继续杠,自我怀疑,坚持使用vs 2017到底,毕竟在2010年的时候,可是号称 “宇宙第一IDE” 的。
  • VS Code:很优秀的编辑器,我一般用来开发前端VUE的东西,写一些文档,个人感觉如果习惯用VIM开发C/C++程序的人可能比较喜欢
  • Clion:目前再用的一款IDE,配合MAC使用,字体清晰小巧比较秀气,美感十足。配合CMake跨平台(Linux使用g++,mac使用clang,win使用vs或者mingw),个人感觉挺香的,值得一试。

安装

  1. 下载Clion 2020.2:https://www.jetbrains.com/clion/
  2. 激活Clion 2020,建议在某宝上花几块钱买个注册码,比自己在网上找省心。
  3. 配置Toolchains,把Visual Studio移动到上面,变成默认的编译器。如果使用MinGW,注意安装Basic Setup下面的包,Clion会自动配置路径的。参考:Clion下载安装使用教程(Win+MinGW)
    在这里插入图片描述
  4. 配置Powershell
    在这里插入图片描述

使用

新建项目

在这里插入图片描述
有2种方式,可以根据现有的源文件创建CMake工程,会自动创建CMakeLists.txt文件。

这里我们使用前一种测试一下:
在这里插入图片描述
点击create后,会显示如下界面:
在这里插入图片描述
和VS大同小异对吧?
点击菜单栏的"Build”->"Build Project"即可编译。

然后点击"Terminal“启动一个终端:

$ cd cmake-build-debug
$ ls
$ ./testclion.exe # 执行,相当于双击exe程序,此时是创建的控制台应用。

如下:
在这里插入图片描述
我们试一下双击,先在目录上右击:
在这里插入图片描述
在这里插入图片描述
是不是比较方便?

CMakeLists.txt

附带一个常用的CMakeLists.txt:

cmake_minimum_required(VERSION 3.17)
project(core)

set(CMAKE_CXX_STANDARD 11)

# 预编译宏定义
add_definitions(-D CIM_DLL_EXPORTS)

# 源文件,aux_source_directory有点字符串追究的含义,这里可以把整个目录作为源代码编译,而不是一个一个文件。
aux_source_directory(./ src_list)
aux_source_directory(pb src_list)

# 包含目录
include_directories(.)
include_directories(../../third_party/protobuf/include)
include_directories(../../third_party/asio-1.18.0/include)
include_directories(../../third_party/spdlog/include)
include_directories(../../)

# 库目录
link_directories(../../bin)
link_directories(../../third_party/spdlog/lib/Debug)
link_directories(../../third_party/protobuf/lib/win32/Debug)

# 编译
# add_executable:生成exe,
# add_library:生成库,SHARED代表动态库,STATIC代表静态库
#add_executable(core SHARED ${src_list})
add_library(cim_core SHARED ${src_list})

# 链接依赖的库,一定得在add_library的后面
target_link_libraries(cim_core cim_base libprotobufd spdlogd)

结束语

罗卜青菜,各有所爱。毕竟不是2010年的时代,多一种选择总是好的,不是吗?

CLion
优点:

  • 跨平台,Windows/Linux/Mac有统一的使用习惯
  • 通过文件目录组织代码结构,比较容易管理,创建方便
  • 各种插件,比如protobuf提示的,markdown的,plum交互图的等等
  • 界面比较美观,主题多
  • 函数跳转比较舒服,函数的说明很明确
    在这里插入图片描述
    在这里插入图片描述
  • 可以看到系统的头文件,比如:
    在这里插入图片描述

缺点:

  • mac下代码补全提示有点慢
  • 没有VS2017解决方案的概念,可以把多个项目放在一个视图里面管理
  • 不适合超大工程
  • 编译有点慢,每次都是全量编译,有点头疼,得找找是否能解决。

猜你喜欢

转载自blog.csdn.net/xmcy001122/article/details/108254156