目的是利用vscode及相关插件编译多个C++文件。

我已经装好cmake和mingw并且将它们的路径添加到系统变量path中了。

vscode装上如下几个插件:

点击vscode左上角   文件->首选项->设置,弹出如下窗口:

cmake tools里头有一项cmake.preferredGenerators要根据编译器修改成对应的值,mingw对应的是MinGW Makefiles

下面一项cmake要配置cmake的安装路径,我的是C:\\Program Files\\CMake\\bin\\cmake

随便新建个文件夹新建个CMakeLists.txt,先确认一下不编译文件时vscode和cmake能不能正常工作,

CMakeLists.txt内容如下:

cmake_minimum_required(VERSION 2.6)

# avoid some cmake warnings
IF(POLICY CMP0026)
CMAKE_POLICY(SET CMP0026 OLD)
ENDIF() SET(test_message "test vscode and cmake")
MESSAGE (STATUS "test_message: ${test_message}")

这个时候插件会自动生成一个build文件夹

然后点击左下角的,弹出一个

随便点一个debug,会弹出一堆和执行 cmake . 一样的信息来,也能成功打印test_message。

说明vscode和cmake可以正常工作。再点一下左下角的build,就make了。得到提示信息

[vscode] C:\Program Files\CMake\bin\cmake exited with return code 0
说明make成功。生成的东西全在build文件夹下。
====================================================
现在把源文件添加进去:
main.cpp
 #include<iostream>

 #include"mathfunc.h"

 using namespace std;

 int main(){
double a,c; cout << "enter a and b: " << endl;
cin >> a >> c;
cout << "a*b*b = " << scjfunc(a,c) << endl; system("pause");
return ;
}
mathfunc.cpp
 #include"mathfunc.h"

 double scjfunc(double a, double b)
{
return a*b*b;
}
mathfunc.h
 #ifndef MATHFUNC_H
#define MATHFUNC_H double scjfunc(double a, double b); #endif
CMakeLists.txt
 cmake_minimum_required(VERSION 2.8)

 project(demo)

 aux_source_directory(. DIR_SRCS)
add_executable(demo ${DIR_SRCS})

和没添加源文件时的操作一样就可以生成exe了。不会自动运行exe。

要debug的话,在CMake Tools configuration中找到cmake.debugConfig,设置成:

  "cmake.debugConfig": {
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
"externalConsole": true,
"stopAtEntry": false
}

然后点击vscode下面的可以调试,画面如下:

目的达成。

vscode, cmake编译多个C++文件的更多相关文章

  1. centos 7 vscode cmake 编译c++工程

    一.环境说明 1)gcc/g++  cmake安装建议 gcc/g++内核自带的即可,如果需要新的自行安装, cmake也一样,如有需要新的版本自行安装. 2)vscode安装插件 必要的插件c/c+ ...

  2. windows10下vscode+cmake编译Qt5代码

    概述 本文演示环境: windows10 cmake version:3.18 qt version: 5.14 vscode version: 1.54.1 本文演示环境基于在线模式, 离线使用VS ...

  3. windows10使用vscode+cmake编译c++代码

    概述 本文将介绍 VScode + cmake 在 windows10上编译c++代码 前提: 我之前已经安装过VS2017, 故 编译将采用cl.exe. 开始之前 本文演示环境基于 windows ...

  4. windows10下vscode+cmake编译Qt5代码(2)

    概述 本文依赖 前文 本文将介绍使用cmake语法屏蔽运行Qt exe的cmd窗口 解决办法 配置VS项目属性, 缺点: cmake重新 configure后,项目属性会重置,再次运行还将出现cmd弹 ...

  5. [转]一个CMake编译问题的解决过程

    问题的提出 公司的一个power-pc平台的产品,有个协议进行了修改,过程中出现了比较奇怪的情况.直接将修改后的动态库下载到设备上(原始设备是有文件系统和其他的依赖文件的,相当于部分更新应用),设备和 ...

  6. linux 下 VSCODE 使用CMake编译STM32程序

    项目在做什么 项目地址 本项目是为了研究MCU在linux下开发而做的 --build 存放cmake编译生成的文件 --cmake 存放cmake编译时会用到的文件,比如工具链检查.编译选项等 -- ...

  7. 解决vscode可以编译通过c++项目,但头文件有红色波浪线的问题

    解决vscode可以编译通过c++项目,但头文件有红色波浪线的问题 一.问题描述 我是在Ubuntu 16.04的环境下,用vscode写代码的,一般不使用vscode自带的编译环境,而是用cmake ...

  8. Cmake知识----编写CMakeLists.txt文件编译C/C++程序

    1.CMake编译原理 CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多.CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt ...

  9. ubuntu下,VSCode采用cmake编译C++工程

    首先在VSCode中下载CMake和CMake Tools两个插件. 选中CMake Tools,可以看到在VSCode中如何使用cmake编译C++工程的教程. 官网教程 最重要且最实用,看这个网址 ...

随机推荐

  1. javascript中的词法分析

    词法分析 JavaScript中在调用函数的那一瞬间,会先进行词法分析. 词法分析的过程: 当函数调用的前一瞬间,会先形成一个激活对象:Avtive Object(AO),并会分析以下3个方面: 1: ...

  2. [sgu P155] Cartesian Tree

    155. Cartesian Tree time limit per test: 0.25 sec. memory limit per test: 65536 KB input: standard i ...

  3. JavaScript(ES6)学习笔记-Set和Map数据结构(一)

    一.Set 1.ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. , , , , ']); s; // ...

  4. SpringMVC 搭建遇到的坑

    1. Caused by: org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 60; cvc-complex-type.2.4.c ...

  5. jq demo 轮播图,图片可调用,向左,自动+鼠标点击切换

    <!doctype html> <html> <head> <meta http-equiv="Content-Type" content ...

  6. Centos7.5安装Docker

    Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用进程进行封装隔离,并且独立于宿主机与其他进程,这种运行时封装 ...

  7. ionic1 添加百度地图插件 cordova-plugin-baidumaplocation

    cordova-plugin-baidumaplocation 这个插件返回的数据是 json 格式的  可以直接获取  android 和 ios 都可用 1.先去百度地图平台去创建应用  获取访问 ...

  8. ipa 注入 dylib

    前些日子再github找到了一个内存修改器 DLGMemor 免越狱在app内植入修改器,感觉很不错,就尝试去看看是否可行. 用到的工具:  Xcode 10. optool 首先要做的,安装 opt ...

  9. 大道至简第一章读后感JAVA伪代码形式

    观看了<大道至简>第一章后,从愚公移山的故事中可以发现愚公移山其实可以看作是一个一个项目,下面用JAVA伪代码形式编写: Import java(愚公移山) //愚公移山 public c ...

  10. mysql date

    date_format(`time`, '%Y-%m-%d %h:%i:%s' ) as time