ubuntu/win10 CLion 使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/details/77803333

本文主要介绍ubuntu/win下CLion,CMakeLists.txt基本使用。

工作中最开始使用python的时候觉得这个IDE特别好用, 后来使用java的
时候使用的IDEA也非常方便,这两个IDE都是JetBrain开发的。两三年前
开发C++的时候使用的是VS2010感觉VS过于笨重后面的VS2013/2015体验
也不是很好。发现了JetBrain开发的C++编辑器CLion果断试了一下发现
其实很好用(无论是阅读代码,调试)。

CLion优势:

  1. 支持一个工程下N个main函数(前面使用VS的时候好像不行,时间长了不记得)这样运行调试的时候特别方便
  2. IDE的风格和Pycharm以及IDEA很像看起来很舒服,而且快捷键非常好用
  3. 可以调用git SVN工具直接创建github项目
  4. 跨平台(工作中的代码很多只能在linux下编译运行,而公司代码基本是使用makefile, 我们可以把代码下载到win10下添加几个CMakeList.txt就可以很好的阅读,编写代码,完成之后上传代码到linux编译即可)

先上个图看下使用的效果win10下面:

生成.a文件:


下面是ubuntu环境下编写调试C++11 handy网络库源码, 编写简单的CMakeLists.txt即可以生成静态库static lib:


生成可执行文件以及链接静态库:

调试起来也是特别方便(win10下):

ubuntu下面:


下面给出一个简单的示例代码结构如下:

CMakeLists.txt如下:

# main cmakelists.txt
cmake_minimum_required(VERSION 3.6)
project(common_algorithm)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

add_subdirectory(common_sort)
add_subdirectory(data_struct)

set(SOURCE_FILES main.cpp)
add_executable(common_algorithm ${SOURCE_FILES})

# common_sort cmakelists.txt
project(common_sort)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
include_directories(h)
include_directories(src)

file(GLOB SRC sort_test_main.cpp h/*.h src/*.cpp)

add_executable(common_sort ${SRC})

当文件不是可执行文件/lib/so的源文件的时候,文件/文件夹的图标是灰色的而且代码也没有highlight

解决邮件文件或者文件夹mark directory as ->project sources and headers即可:

项目上传至github

pycharm IDEA 都有这个功能


代码的上传push, pull都很方便:

更多使用可以看官网文档 https://www.jetbrains.com/help/clion/2017.1/quick-start-guide.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

利用GeoIP数据库及API进行地理定位查询

地理定位查询的的数据库比较多,而且大多都开放一些free的版本,国内的有纯真数据库等,但是他只提供文本的地理位置信息,不提供经纬度数据。国外的有MaxMind的...

62960
来自专栏安恒信息

安全漏洞公告

1 Apache Sling 'AbstractAuthenticationFormServlet'开放重定向漏洞 ? 2 Apache Commons Fil...

31960
来自专栏全华班

springcloud学习手册-Hystrix(仪表盘说明)

导读 | 仪表盘 instrument board ? 一、Hystrix Dashboard 监控仪表盘 One of the main benefits o...

38540
来自专栏世界第一语言是java

springboot2新版springcloud微服务全家桶实战

本篇文章是springboot2.x升级后的升级springcloud专贴,因为之前版本更新已经好久了,好多人评论可不可以出个新版本,大家一定要注意,这是spr...

4.7K20
来自专栏python3

Centos7 安装python虚拟环境+Django

鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper。 virtualenvwrapper提供了一系列命令使得和...

31420
来自专栏菩提树下的杨过

JBOSS EAP 6.0+ Standalone模式安装成Windows服务

网上有一些文章介绍用JavaService.exe来实现,但是到EAP 6以上版本,我试过好象没成功,幸好JBoss官方已经推出了专门的工具。 一、先到官网下载...

27080
来自专栏FreeBuf

如果有人使用VENOM工具绕过反病毒检测,该如何防护?

如今,很多恶意软件和Payload都会使用各种加密技术和封装技术来绕过反病毒软件的检测,原因就是AV产品很难去检测到经过加密或加壳的恶意软件(Payload)。

10920
来自专栏杨熹的专栏

详解Mac配置虚拟环境Virtualenv,安装Python科学计算包

最近正在自学Python做科学计算,当然在很多书籍和公开课里最先做的就是安装Numpy, Scipy, Matplotlib等包,不过每次安装单独的包时,...

30780
来自专栏向治洪

使用Jenkins搭建Android自动打包环境

概述 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:持续的软件版本发布/测试项目;监控外部调用执行的工作。 对于我们...

453100
来自专栏JackieZheng

Spring Boot系列——如何集成Log4j2

上篇《Spring Boot系列——日志配置》介绍了Spring Boot如何进行日志配置,日志系统用的是Spring Boot默认的LogBack。

18220

扫码关注云+社区

领取腾讯云代金券