VScode配置C/C++环境

VScode配置C/C++环境

  • 安装MinGW
  • 安装VScode
  • 安装cmake
  • 配置环境变量

CMake的方式

工作原理:

  • cmake通过读取CMakeLists.txt的内容生成Makefile等文件
  • 通过mingw32-make(Windows)或make(Linux)读取Makefile的内容生成.exe文件
同目录单文件

基本步骤:

  1. 编辑好C/C++的代码之后,新建一个CMakeLists.txt文件,这个文件是编写CMake的关键;

  2. ctrl+shift+p,弹出CMake配置,点击它,让VScode自动帮我们配置好,然后会在工作区自动生成build文件夹

  3. 编辑CMakeLists.txt文件

    1. cmake_minmum_required(VERSION 3.10)	#指定最小cmake版本,小于等于本地安装的cmake版本即可
      project(Hello C)	#指定工程名称,例如:Hello 指定工程开发语言,例如:C #第二个参数可以不加
      add_executable(${PROJECT_NAME} Hello.c) 
      #生成可执行文件 PORJECT_NAME是cmake的内置变量表示工程的名字
      #这里指定是Hello那生成的可执行文件的名字就是Hello
      
  4. 进入终端

    1. > cd build #进入到build目录中
      > cmake .. # 这一行整体表示的是编译CMakeLists.txt文件,生成Makefile
      # .. 表示的是CMakeLists.txt所在的位置
      # 其实通过快捷键ctrl+shift+p配置的就不需要这一步,因为插件已经帮我们做好了
      # 就是当我们需要一个新的Makefile文件的时候就需要这一步指令,当然基本上插件已经帮我们做好了
      > mingw32-make	#执行Makefile里面的内容,生成可执行文件
      # 在Windows下下载的MinGW就是这个,如果是Linux就使用自带的make
      > ./Hello.exe #执行刚刚生成的可执行文件,名字根据实际情况来写
      
  5. 调试

    1. 单文件直接点击调试就可以了,什么都不用改

    2. 如果什么都不改,那VScode会在当前工作区生成一个新的.exe文件,然后对这个.exe文件进行调试工作,不是对我们前面生成的.exe文件进行调试

    3. 如果不想让VScode重新生成一个.exe文件的话就必须做下列操作

      1. Luanch.json文件中的**“program”**的内容改成

        "program":"${workspaceFolder}/build/Hello.exe", //让它指向我们的工程生成的.exe文件
        
      2. Luanch.json文件中的**“cwd”**的内容改成

        "cwd":"${workspaceFolder}", //让它进入到我们的工作空间
        
      3. Luanch.json文件中的**“preLuachTask”**注释掉,不让它生成新的.exe文件

同目录多文件

基本步骤:

  1. 前四步的操作都是一样的,就是在调试的时候有点区别

  2. Luanch.json文件就这么改,然后是把**“preLuachTask”**的注释放开

  3. 打开task.json文件,修改成一下内容:

    1. {
          "options":{
              "cwd":"${workspaceFolder}/build"
          },
          "tasks":[
              {
                  "label":"cmake",
                  "command":"cmake",
                  "args":[
                      ".."
                  ]
              },
              {
                  "label":"make",
                  "command":"mingw32-make",	//这个地方要灵活一点,如果是Linux就直接make
                  "args":[
                      //没有参数,所以这一项可以不写
                  ]
              },
              {
                  "label":"build",
                  "dependOn":[	//依赖前面两个对象,把他们的label加进来就行
                      "cmake",
                      "make"
                  ]
              }
          ]
      }
      
  4. 进入到Luanch.json,找到"preLuanchTask",将其的内容改成"build",对应task.json的tasks的第三个对象的label

  5. 然后调试就不会报错了

多目录多文件

基本步骤:

  1. 和前面的是差不多的,只不过说是增加了一些文件夹,方便管理而已

  2. 新建4个文件夹

    1. bin 专门放可执行文件的
    2. obj 专门放.o目标文件的
    3. include 专门放头文件的
    4. src 专门放源文件的
  3. 在对应的文件夹下增加东西,在最外面增加CMakeLists.txt文件

    1. 树状图

      .
      |--bin
      |--include
      	|--Student.h
      	|--等头文件
      |--obj
      |--src
      	|--Student.c
      	|--main.c
      	|--等源文件
      |--CMakeLists.txt
      
  4. 编辑CMakeLists.txt文件

    1. cmake_minmum_required(VERSION 3.10)	#指定最小cmake版本,小于等于本地安装的cmake版本即可
      project(Hello C)	#指定工程名称,例如:Hello 指定工程开发语言,例如:C #第二个参数可以不加
      include_diretory(include) #指定头文件所在目录
      aux_source_diretory(src SRCS)
      add_executable(${PROJECT_NAME} ${SRCS}) 
      #生成可执行文件 PORJECT_NAME是cmake的内置变量表示工程的名字
      #这里指定是Hello那生成的可执行文件的名字就是Hello
      
  5. 按快捷键ctrl+shift+p自动配置cmake,生成build目录

  6. Luanch.json和task.json的改法和前面的一样

  7. 就可以调试了

Makefile的方式

工作原理:

  • 编辑好Makefile文件后,通过mingw32-make(windows)或make(Linux)读取Makefile中的内容,使用到gcc等命令生成.exe文件
同目录单文件

基本步骤:

  1. 写好.c文件,编辑Makefile文件,后面没有什么后缀,当然也可以先写makefile文件然后再写.c文件也是可以的;名字是makefile或是Makefile都是可以的都是一个意思,看个人习惯
main:main.o
	gcc main.o -o main
main.o:main.c
	gcc -c main.c -o main.o

Makefile的基本格式:

目标:依赖
	命令

命令前面一定要是一个tab键

  1. 进入终端:输入下面指令,就可以生成可执行文件main.exe和目标文件main.o
> mingw32-make

  1. 直接运行
> ./main.exe

  1. 单文件调试就不用干啥配置了,调试的工作是Luanch.jsontask.json的工作和Makefile本身无关,除非要针对我们自己生成的.exe文件调试,编译的时候加-g选项即可,自己看着改
同目录多文件

基本步骤:

  1. 编写.h和.c文件,然后编写makefile文件

  2. makefile文件

    1. main:main.o student.o
      	gcc main.o student.o -o main
      main.o:main.c
      	gcc -c main.c -o main.o
      student.o:student.c
      	gcc -c student.c -o student.o
      
      
    2. # 简写上面的makefile文件
      main: main.o student.o
      	gcc $^ -o $@
      %.o:%.c
      	gcc -c $< -o $@
      
      
  3. 后续运行等步骤是一样的,想要调试就在makefile中的编译命令加-g选项

    1. main: main.o student.o
      	gcc $^ -o $@
      %.o:%.c
      	gcc -c -g $< -o $@
      
      
多目录多文件

基本步骤:

  1. 新建文件夹

    1. bin
    2. obj
    3. src
    4. include
  2. 新建makefile文件

    1. 树状图

      .
      |--bin
      |--include
      	|--student.h
      |--obj
      |--src
      	|--main.c
      	|--student.c
      |--makefile
      
      
  3. 编辑文件

    1. 个个头文件和源文件

    2. makefile

      BIN=./bin
      OBJ=./obj
      SRC=./src
      INC=./include
      
      SRCS=$(wildcard $(SRC)/*.c)
      OBJS=$(patsubst %.c,$(OBJ)/%.o,$(nordir $(SRCS)))
      
      CC=gcc
      CFLAGS=-g -Wall -I$(INC)
      
      $(BIN)/main:$(OBJS)
      	$(CC) $^ -o $@
      $(OBJ)/%.o:$(SRC)/%.c
      	$(CC) $(CFLAGS) -c $< -o $@
      .PHONY:clean
      clean:
      	del /Q /F obj
      
      

结合视频观看效果更佳:

VSCode配置C和C++的环境的两种基本方式

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值