Linux环境之下使用VS Code搭建C/C++开发环境

前言:前面的文章介绍了在Windows平台之下使用Ming-win64和MSVC搭建C/C++的开发环境,本文开始介绍在Linux平台之下如何搭建开发环境。可以参考前面两篇文章:

VSCode开发C、C++环境搭建系列(一)——基于Mingw-w64搭建

VSCode开发C、C++环境搭建系列(三)——基于MSVC搭建

一、基本的软件安装

gcc

g++

make

cmake

这四个是缺一不可的

本文介绍的是简单的只包含几个源文件的C开发,所以make和cmake暂时用不到。

另外关于编辑器vs code的使用和windows上面几乎每什么区别,这里不再赘述。

二、开发环境搭建关键的路径搜索

2.1 头文件的搜索

gcc 在编译时如何去寻找所需要的头文件:

(1)编译器指定的参数 -I 给出的头文件包含路径

2)然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH(分别对应C、C++、objective-C的头文件)

(3)GCC标准安装目录,系统标准include路径。安装GCC套件的时候可以通过--prefix参数手动指定安装位置。

默认的安装位置在:

gcc/x86_64-linux-gnu/7/

在这个文件夹之下包含了很多的头文件以及库文件

(4)内定目录,不需要自己额外声明以及添加的目录

/usr/include 及其下面的子目录
/usr/local/include  及其下面的子目录(centos7中该目录下是空的)

2.2 静态库文件

(1)gcc在编译的时候通过  -L参数  手动指定的搜索路径

(2)再找gcc的环境变量LIBRARY_PATH

(3)再找内定目录,这是这些安装GCC套件的时候所安装的那些目录

/lib和/lib64

/usr/lib 和/usr/lib64

/usr/local/lib和/usr/local/lib64

 

2.3 运行时动态库的搜索路径

动态库的搜索路径搜索的先后顺序是:

(1)编译目标代码时使用 -L参数 指定的动态库搜索路径;
(2)环境变量LD_LIBRARY_PATH指定的动态库搜索路径;
(3)配置文件/etc/ld.so.conf中指定的动态库搜索路径;
(4)再找内定目录,这是这些安装GCC套件的时候所安装的那些目录

/lib和/lib64

/usr/lib 和/usr/lib64

/usr/local/lib和/usr/local/lib64

三、基本配置与简单实验

3.1 配置c_cpp_properties.json 文件

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"   //头文件以及库文件的搜索路径也可以添加进去
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc", //编译器路径
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

3.2 配置生成任务的tasks.json文件

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++",
            "args":[
                "-g","test.cpp","-o","test.out" //其实就是编译,这里指定编译的参数
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

3.3 配置调试的launch.json文件

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/test.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

3.4 实验代码

#include 


int main(int argc, char const *argv[])
{
    for(int i=0;i<5;i++)
    {
        std::cout<

 

说明:上面仅仅是演示了简单的C文件的编译以及运行,如果对于一个比较大的工程文件,make和cmake工具是必不可少的,所以后面会针对这两个最难的点进行说明,vs code也可以和这些工具配合起来,做成一个比较强大的集成开发环境。

 

 

你可能感兴趣的:(C/C++)