详解Ubuntu18.04配置VSCode+CMake的C++开发环境

详解Ubuntu18.04配置VSCode+CMake的C++开发环境

本文将会介绍如何在Ubuntu 18.04配置VSCode和CMake的C++开发环境。以下是具体的步骤:

步骤1:安装必要的软件包

打开终端,使用以下命令来安装必要的软件包:

sudo apt-get update
sudo apt-get install build-essential gdb cmake

步骤2:安装VSCode

在Ubuntu 18.04中,您可以使用以下命令来安装VSCode:

sudo snap install --classic code

步骤3:安装C/C++插件

安装完VSCode之后,需要安装C/C++插件,该插件提供了C++开发所需的工具和功能。可以通过以下步骤安装C/C++插件:

  1. 打开VSCode
  2. 点击左侧的Extensions图标,搜索C/C++插件
  3. 点击安装按钮,等待插件安装完成

步骤4:安装CMake插件

在VSCode内安装CMake插件,该插件提供CMake语法高亮、调试和构建支持。您可以通过以下步骤安装CMake插件:

  1. 打开VSCode
  2. 点击左侧的Extensions图标,搜索CMake Tools插件
  3. 点击安装按钮,等待插件安装完成

步骤5:创建C++项目

您现在可以在VSCode内创建C++项目了。您可以通过以下步骤创建一个简单的C++项目:

  1. 打开VSCode
  2. 点击File->Open Folder
  3. 选择一个文件夹来存储您的C++项目
  4. 点击左侧的Explorer图标,右键单击文件夹并选择“New File”
  5. 输入“main.cpp”作为文件名,并输入以下内容:
#include <iostream>

int main(){
    std::cout << "Hello World!" << std::endl;
    return 0;
}

步骤6:配置CMake

接下来需要在项目文件夹中创建一个CMakeLists.txt文件来配置CMake。在文件夹中右键单击并选择“New File”。输入“CMakeLists.txt”作为文件名,并输入以下内容:

cmake_minimum_required (VERSION 3.5)

project (hello_world)

add_executable (hello_world main.cpp)

这告诉CMake创建一个名为“hello_world”的可执行文件,并将“main.cpp”文件添加到该可执行文件中。

步骤7:使用CMake生成Makefile

在终端中打开项目文件夹,并键入以下命令:

mkdir build && cd build
cmake ..

这将在build文件夹中生成Makefile文件。

步骤8:编译代码

在终端中,键入以下命令来编译代码:

make

步骤9:调试代码

在VSCode中,可以通过以下 steps 来调试C++代码:

  1. 点击左侧的Debug图标
  2. 点击左上角的“create a launch.json file”链接
  3. 选择C++作为环境
  4. 在配置文件中添加以下代码:
{
    "name": "g++ - Build and debug active file",
    "type": "cppdbg",
    "request": "launch",
    "program": "${workspaceRoot}/build/hello_world",
    "args": [],
    "stopAtEntry": false,
    "cwd": "${workspaceRoot}",
    "environment": [],
    "externalConsole": false,
    "MIMode": "gdb",
    "miDebuggerPath": "gdb"
}
  1. 现在,您可以点击左侧的Debug按钮来开始调试您的代码。

示例1:在Ubuntu 18.04下使用VSCode+CMake开发C++程序

以下是一个简单的示例,演示了如何在Ubuntu 18.04下使用VSCode+CMake开发和调试C++程序。

  1. 创建名为“hello_world”的文件夹。
  2. 在文件夹内创建一个名为“main.cpp”的文件,添加以下内容:
#include <iostream>

int main(){
    std::cout << "Hello World!" << std::endl;
    return 0;
}
  1. 在文件夹内创建一个CMakeLists.txt文件,并添加以下内容:
cmake_minimum_required (VERSION 3.5)

project (hello_world)

add_executable (hello_world main.cpp)
  1. 打开终端,进入该文件夹并输入以下命令:
mkdir build && cd build
cmake ..
make
  1. 点击左侧的Debug按钮来开始调试您的代码,并输入以下代码:
#include <iostream>

int main(){
    int i = 0;
    while(true){
        std::cout << "Hello World!" << std::endl;
        i++;
        if(i > 10){
            break;
        }
    }
    return 0;
}
  1. 完成后,您可以看到程序在控制台中输出“Hello World!”10次。

示例2:在Ubuntu 18.04下使用VSCode+CMake开发OpenGL程序

以下是一个简单的示例,演示了如何在Ubuntu 18.04下使用VSCode+CMake开发和调试OpenGL程序。

  1. 安装OpenGL和GLFW:
sudo apt-get install libgl1-mesa-dev libglfw3-dev
  1. 创建名为“opengl”的文件夹。
  2. 在文件夹内创建一个名为“main.cpp”的文件,添加以下内容:
#include <iostream>
#include <GLFW/glfw3.h>

int main(){
    if (!glfwInit()){
        std::cout << "Failed to initialize GLFW\n" << std::endl;
        return -1;
    }

    GLFWwindow* window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window){
        std::cout << "Failed to create GLFW window\n" << std::endl;
        return -1;
    }

    glfwMakeContextCurrent(window);

    while (!glfwWindowShouldClose(window)){
        glClear(GL_COLOR_BUFFER_BIT);

        glBegin(GL_TRIANGLES);
        glVertex2f(-0.5f, -0.5f);
        glVertex2f(0.0f, 0.5f);
        glVertex2f(0.5f, -0.5f);
        glEnd();

        glfwSwapBuffers(window);
        glfwPollEvents();
    }

    glfwTerminate();

    return 0;
}
  1. 在文件夹内创建一个CMakeLists.txt文件,并添加以下内容:
cmake_minimum_required (VERSION 3.5)

project (opengl)

add_executable (opengl main.cpp)

find_package (OpenGL REQUIRED)
target_link_libraries (opengl ${OPENGL_LIBRARY})

find_package (glfw3 3.3 REQUIRED)
target_link_libraries (opengl glfw)
  1. 打开终端,进入该文件夹并输入以下命令:
mkdir build && cd build
cmake ..
make
  1. 点击左侧的Debug按钮来开始调试您的代码,并输入以下代码:
#include <iostream>
#include <GLFW/glfw3.h>

int main(){
    if (!glfwInit()){
        std::cout << "Failed to initialize GLFW\n" << std::endl;
        return -1;
    }

    GLFWwindow* window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window){
        std::cout << "Failed to create GLFW window\n" << std::endl;
        return -1;
    }

    glfwMakeContextCurrent(window);

    while (!glfwWindowShouldClose(window)){
        glClear(GL_COLOR_BUFFER_BIT);

        glBegin(GL_TRIANGLES);
        glVertex2f(-0.5f, -0.5f);
        glVertex2f(0.0f, 0.5f);
        glVertex2f(0.5f, -0.5f);
        glEnd();

        glfwSwapBuffers(window);
        glfwPollEvents();
    }

    glfwTerminate();

    return 0;
}
  1. 在终端中键入以下命令来运行您的OpenGL程序:
./opengl
  1. 当程序开始执行时,您将会看到一个OpenGL窗口显示一个三角形。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Ubuntu18.04配置VSCode+CMake的C++开发环境 - Python技术站

(1)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C++的静态类型检查详解

    C++的静态类型检查详解 C++是一门静态类型的编程语言,其中的静态类型检查是C++编译器能够在编译期间确定程序中变量类型的能力。这种特性提供了许多优点,例如类型安全和代码可读性,同时也有一些限制。 静态类型检查是什么 静态类型检查是指编译器在编译程序时,通过对程序的语法分析和类型推导,能够确定每个变量的类型和类型之间的关系。根据类型检查结果,编译器可以在编…

    C 2023年5月22日
    00
  • C语言基本语法

    当学习 C 语言时,我们需要掌握 C 语言的基本语法,这个攻略将会详细讲解 C 语言的基本语法内容和使用方法。 标识符 C 语言中使用标识符来标识变量、函数等名称。标识符由字母、数字和下划线组成,但第一个字符必须为字母或下划线。标识符大小写敏感。 示例代码: #include <stdio.h> int main() { int a = 10, …

    C 2023年5月9日
    00
  • 佳能DR6030C扫描仪经常卡纸该怎么办?

    佳能DR6030C扫描仪经常卡纸的解决方法 如果佳能DR6030C扫描仪经常卡纸,可能会导致扫描效率低下,甚至使扫描仪无法使用。解决这个问题需要我们采用以下方法。 方法一:检查纸张 检查纸张是否符合佳能DR6030C扫描仪的规格要求。佳能DR6030C扫描仪支持最大的纸张尺寸是A3(11.7 x 16.5 inch)。 检查纸张的数量是否适当,过多或过少都会…

    C 2023年5月23日
    00
  • Windows 2008 R2服务管理器刷新失败的解决方法

    Windows 2008 R2服务管理器刷新失败的解决方法 在Windows Server 2008 R2操作系统中,你可能会遇到服务管理器刷新失败的问题。在本篇文章中,我们将讨论此问题的原因以及如何解决它。 问题原因 当服务管理器尝试刷新时,它将读取注册表中的服务配置信息。 如果服务配置已损坏,服务管理器将无法正确刷新服务列表。 解决方法 以下是一些方法,…

    C 2023年5月23日
    00
  • c++代码各种注释示例详解

    C++代码注释详解 C++代码注释是一种为程序添加额外说明、解释和提示的方式,它有助于程序的可读性和可维护性。 本文将详细讲解C++代码各种注释示例及说明。 单行注释 单行注释以//开始,直到该行结束,可用于简单的注释或激活/屏蔽代码。 示例: int a = 5; // 定义变量a,赋值为5 // int b = 10; // 激活该行会定义变量b,赋值为…

    C 2023年5月23日
    00
  • mysql数据存放的位置在哪

    MySQL是一种关系型数据库管理系统,用于管理和操作数据。在MySQL内部,数据存储在文件中。这些文件位于MySQL的数据目录中。下面我们来详细讲解MySQL数据存放的位置在哪。 MySQL数据目录(Data Directory) MySQL数据目录指的是MySQL服务器实际存储数据的目录。在Unix/Linux系统中,默认的MySQL数据目录是/var/l…

    C 2023年5月23日
    00
  • go Gin安装及初始化操作示例

    下面是有关“go Gin安装及初始化操作示例”的完整攻略: 安装 要安装Gin,您需要确保已经安装go(Go语言)。前往 Go官方网站 下载适用于您操作系统的版本进行安装。安装完成后,打开终端(或命令提示符)并输入以下命令,即可安装Gin: go get -u github.com/gin-gonic/gin 当命令执行完成后,您的计算机上应该已经安装了最新…

    C 2023年5月23日
    00
  • C#常用的数据格式转换汇总

    C#常用的数据格式转换汇总 在C#中,常常需要将各种数据类型互相转换,比如将字符串转换成整数、将整数转换成字符串等。本文将为大家介绍C#中常用的数据格式转换方法。 1. int和string之间的转换 1.1 int转string 将int类型的变量转换成string类型,可以使用ToString()方法。示例代码如下: int num = 123; str…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部