• Ubuntu20.04配置C/C++环境


    1. C/C++ IDE

    安装Clion NovaVsCode

    2. 编译器

    2.1 g++

    当程序比较小时,安装g++编译器进行编译,常用命令如下:

    // 安装g++
    sudo apt-get install g++
    // 默认生成a.out的可执行文件
    g++ main.cpp
    // 生成其他名字的可执行文件
    g++ main.cpp -o exe_name
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.2 cmake

    当我们写的程序越来越大时,我们就希望有工具可以一下子编译所有文件;cmake把一串g++命令,变成了维护若干个比较直观的CMakeLists.txt,极大地降低了维护成本;所以我们接下来介绍cmake的安装和使用

    • CMakeLists.txt编写
    // 要求cmake的最低版本
    cmake_minimum_required(VERSION 3.16)
    // 项目名称,一般为包含xxx.cpp的文件夹名称
    project(start_project)
    // 编译时c++标准
    set(CMAKE_CXX_STANDARD 17)
    // 添加一个可执行文件;语法add_executable(程序名 源代码文件);
    add_executable(main main.cpp)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • cmake的安装和使用
    // 安装cmake
    sudo apt install cmake
    // 检查信息处理工程文件之间的关系;在当前目录生成一些中间文件,最重要的是**MakeFile(可以理解成一系列自动生成的编译指令)**
    cmake . 
    // 调用g++编译
    make
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    在这里插入图片描述

    • 更常用的使用方法
      使用cmake .和make的方式,会产生许多中间文件,在public code的时候我们不希望中间文件一并发布出去,所以介绍一下更常用的编译方法,通过下面的方法,在发布前只需要删除掉build文件夹就可以了
    mkdir build && cd build
    cmake .. //多一个点是为了到build文件夹的上一个目录
    make
    
    • 1
    • 2
    • 3
  • 相关阅读:
    2.DesignForClines\3.QuickBusRouting
    SQL AND, OR and NOT(与,或不是运算符)
    Java知识总结
    NX/UG二次开发—UF_MODL_ask_bounding_box_exact浅析
    Java Web(十二)--JSP
    【esp32】xQueueReceive 函数调试踩坑记录
    信息系统项目管理师Part13-UML
    【Redis】 缓存双写一致性
    Effective Java(一)条目整理
    【双向链表的插入和删除】
  • 原文地址:https://blog.csdn.net/gyqJulius_Caesar/article/details/136725553