CLion之C++框架篇-安装工具,基础框架的搭建(一)

背景

日常学习C++,也就是看看书、在vim里写写代码。在日常项目开发中,也是边看书(一是系统性理解、二是找找有什么更好的代码编写方式)边写代码,会顺带看看别人的代码怎么写的?

日常学习习惯:

先在github上申请一个账号,然后建一个respo。

之前习惯用vim配合g++写代码。这两天开始研究CLion IDE工具哈!

CLion是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力,提高开发人员的工作效率。

先安装CLion

在注册的时候,用url的方式进行注册(其他两种方式最好不要用,问题很多)。这个在网上搜索吧?!我没有留档抱歉!?谁找到了也给一份哈。

设计个简单的C++ 代码框架

CMakeList.txt文件介绍

1、指定头文件目录

include_directories(src/include)

2、指定原始目录,不要忘记添加第二个默认参数 dir_srcs

aux_source_directory(src/main dir_srcs)

3、添加要编译的可执行文件。注意,通过变量WORK来编译

set(WORK ${dir_srcs})

add_executable(work ${WORK})

具体如图:

愉快的运行代码吧!

CLion之C++框架篇-安装工具,基础框架的搭建(一)

CLion之C++框架篇-安装工具,基础框架的搭建(一)

CLion之C++框架篇-安装工具,基础框架的搭建(一)

CMakeLists.txt 有意思的case

1) 配置调试

CLion之C++框架篇-安装工具,基础框架的搭建(一)

2) 调用子目录里的CMakeLists.txt

CLion之C++框架篇-安装工具,基础框架的搭建(一)

3) 适配不同的环境(debug、release、test_all、…)

编译时传递

CLion之C++框架篇-安装工具,基础框架的搭建(一)

进行变量区分

CLion之C++框架篇-安装工具,基础框架的搭建(一)

配置git

问题

CLion是否能在一个windows里开多个project?答案:不能

CLion之C++框架篇-安装工具,基础框架的搭建(一)

官方文档

CLion之C++框架篇-安装工具,基础框架的搭建(一)

资料共享
使用CLion建立多工程目录下的CMakeLists.tx t

共享库(.so)与静态库(.a)相关资料

Linux 下用 Clion 编写及调用共享库的实践 gcc编译参数-fPIC的一些问题 Linux下Makefile中动态链接库和静态链接库的生成与调用

协程库、并行编程库

libgo

推荐

Original: https://www.cnblogs.com/baochuan/p/9101909.html
Author: 川山甲
Title: CLion之C++框架篇-安装工具,基础框架的搭建(一)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/535588/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • C++ 获取当前时间毫秒数

    在window环境下:1、精确到毫秒 include “stdafx.h” include include Original: https://www.cn…

    C++ 2023年5月29日
    056
  • clion运行单个c和c++文件(.c.cpp)

    运行方法 在clion中安装插件:C/C++Single File Execution 在要执行的cpp文件中添加main函数 在cpp文件的编辑器界面中点右键会出现【Add ex…

    C++ 2023年5月29日
    065
  • CLion之C++框架篇-优化框架,引入boost(三)

    背景 结合上一篇CLion之C++框架篇-优化框架,单元测试(二) ,继续进行框架优化!这一版优化引入一个我们日常经常使用的操作库Boost,估算使用频率在70%以上! Boost…

    C++ 2023年5月29日
    080
  • 用C++实现半透明按钮控件(PNG,GDI+)

    使用MFC实现上面的按钮半透明效果能看到父窗口中的内容,上面是效果图(一个是带背景图片的、另一个是不带的)。 控件继承自CWnd类(彩色的部分是窗口的背景图片、按钮是PNG图片,第…

    C++ 2023年5月29日
    084
  • c++中捕捉内存泄露、异常

    cpp;gutter:false; //在Watch面板加上可以观察当前断点处最后一条异常信息:@err,hr#include "stdafx.h"</p…

    C++ 2023年5月29日
    054
  • C++ 创建静态链接库和动态链接库

    上篇文章演示了如恶化使用C++ 编译的静态链接库和动态链接库,本篇文章主要介绍如何创建静态链接库和动态链接库,本文使用的工具是visual studio 2019 企业版,需要安装…

    C++ 2023年5月29日
    061
  • 【面试攻略】C++面试-沐瞳游戏

    2020-11-24-沐瞳游戏自我介绍 1.你们IO用的什么(HPsocket),他是怎么实现的,(HPsocket他Windows通信用的什么)2.tcp的三次握手四次挥手3.有…

    C++ 2023年5月29日
    074
  • C++基础 (杂七杂八的汇总 )

    各数据类型在32位系统和64位系统占的字节数: C类型 32 64 char 1 1 short int 2 2 int 4 4 long int 4 8 long long in…

    C++ 2023年5月29日
    066
  • Google C++ 单元测试 GTest

    from : http://www.cnblogs.com/jycboy/p/6057677.html 一、设置一个新的测试项目 在用google test写测试项目之前,需要先编…

    C++ 2023年5月29日
    040
  • C++常用的设计模式

    单例模式: 单例模式:确保一个类只有一个实例,并且这个实例化向整个系统提供 (例如只有一台打印机,可以有多个打印任务队列,但是只能有一个正在打印)。单例模式又分为(饿汉模式,懒汉模…

    C++ 2023年5月29日
    049
  • C++源码—shared_ptr(MSVC 2017)

    1 控制块 shared_ptr 继承自 _Ptr_base,它包含两个成员变量: 指向目标对象的指针 _Ptr 和 引用计数基类指针 _Rep。 cpp;gutter:true;…

    C++ 2023年5月29日
    061
  • [C++] 引用类型&

    引用的方法: 类型 &引用名 = 变量名; 例如: int a = 5; int &b = a; 引用的规则: 1、引用被创建的同时必须被初始化 2、无null引用…

    C++ 2023年5月29日
    060
  • std::get<C++11多线程库~线程间共享数据>(09):共享数据带来的问题(1)

    1 #include 2 3 /* 4 * 话题1:线程间共享数据 5 * a. 共享数据带来的问题 6 * b. 使用互斥量保护数据 7 * c. 数据保护的替代方案 8 * 9…

    C++ 2023年5月29日
    059
  • [转] C++ STL中map.erase(it++)用法原理解析

    总结一下map::erase的正确用法。首先看一下在循环中使用vector::erase时我习惯的用法: 这一种用法是没有问题的。 如上所示,C++98中map::erase并没有…

    C++ 2023年5月29日
    072
  • C++中的静态绑定和动态绑定(转)

    C++在面向对象编程中,存在着静态绑定和动态绑定的定义,本节即是主要讲述这两点区分。我是在一个类的继承体系中分析的,因此下面所说的对象一般就是指一个类的实例。首先我们需要明确几个名…

    C++ 2023年5月29日
    048
  • C++ #ifndef/#define/#endif解释

    作用:防止头文件的重复包含和编译 ifndef x define x endif 比如说有一个头文件叫head.h,这是一个通用的头文件,然后我又定义了两个自己用的头文件,分别叫l…

    C++ 2023年5月29日
    044
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球