vscode和cmake編譯多個(gè)C++文件的實(shí)現(xiàn)方法
目的是利用vscode及相關(guān)插件編譯多個(gè)C++文件。
我已經(jīng)裝好cmake和mingw并且將它們的路徑添加到系統(tǒng)變量path中了。
vscode裝上如下幾個(gè)插件:

點(diǎn)擊vscode左上角 文件->首選項(xiàng)->設(shè)置,彈出如下窗口:

cmake tools里頭有一項(xiàng)cmake.preferredGenerators要根據(jù)編譯器修改成對(duì)應(yīng)的值,mingw對(duì)應(yīng)的是MinGW Makefiles
下面一項(xiàng)cmake要配置cmake的安裝路徑,我的是C:\\Program Files\\CMake\\bin\\cmake
隨便新建個(gè)文件夾新建個(gè)CMakeLists.txt,先確認(rèn)一下不編譯文件時(shí)vscode和cmake能不能正常工作,
CMakeLists.txt內(nèi)容如下:
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}")
這個(gè)時(shí)候插件會(huì)自動(dòng)生成一個(gè)build文件夾
然后點(diǎn)擊左下角的
,彈出一個(gè)

隨便點(diǎn)一個(gè)debug,會(huì)彈出一堆和執(zhí)行 cmake . 一樣的信息來(lái),也能成功打印test_message。
說(shuō)明vscode和cmake可以正常工作。再點(diǎn)一下左下角的build,就make了。得到提示信息
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 0;
}
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})
和沒(méi)添加源文件時(shí)的操作一樣就可以生成exe了。不會(huì)自動(dòng)運(yùn)行exe。
要debug的話,在CMake Tools configuration中找到cmake.debugConfig,設(shè)置成:
"cmake.debugConfig": {
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
"externalConsole": true,
"stopAtEntry": false
}
然后點(diǎn)擊vscode下面的
可以調(diào)試,畫(huà)面如下:

目的達(dá)成。
到此這篇關(guān)于vscode, cmake編譯多個(gè)C++文件的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)vscode, cmake編譯多個(gè)C++內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vscode 配置 C/C++ 編譯環(huán)境的詳細(xì)圖文教程
- VSCode搭建C/C++編譯環(huán)境的詳細(xì)教程
- vscode 配置 C/C++編譯環(huán)境(完整教程)
- VSCode C++多文件編譯的簡(jiǎn)單使用方法
- Visual Studio Code (VSCode) 配置搭建 C/C++ 開(kāi)發(fā)編譯環(huán)境的流程
- vscode?采用C++17版本進(jìn)行編譯的實(shí)現(xiàn)
- 2022最新使用VSCode編譯運(yùn)行C++的過(guò)程及會(huì)遇到的兩個(gè)問(wèn)題
- VSCode C/C++多文件編譯配置小結(jié)
- vscode+wsl運(yùn)行編譯c++的實(shí)現(xiàn)
相關(guān)文章
C語(yǔ)言實(shí)現(xiàn)九大排序算法的實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于C語(yǔ)言實(shí)現(xiàn)九大排序算法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
C語(yǔ)言中volatile關(guān)鍵字的作用及說(shuō)明
文中主要介紹了C語(yǔ)言中volatile關(guān)鍵字的含義和使用場(chǎng)景,volatile是一個(gè)類型修飾符,主要用來(lái)修飾被不同線程訪問(wèn)和修改的變量,它的作用是防止編譯器對(duì)代碼進(jìn)行優(yōu)化,確保每次直接讀取原始內(nèi)存地址的值2024-10-10
使用VSCode和VS2017編譯調(diào)試STM32程序的實(shí)現(xiàn)
這篇文章主要介紹了使用VSCode和VS2017編譯調(diào)試STM32程序的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
鏈接庫(kù)動(dòng)態(tài)鏈接庫(kù)詳細(xì)介紹
靜態(tài)鏈接庫(kù).lib和動(dòng)態(tài)鏈接庫(kù).dll。其中動(dòng)態(tài)鏈接庫(kù)在被使用的時(shí)候,通常還提供一個(gè).lib,稱為引入庫(kù),它主要提供被Dll導(dǎo)出的函數(shù)和符號(hào)名稱,使得鏈接的時(shí)候能夠找到dll中對(duì)應(yīng)的函數(shù)映射2012-11-11
C語(yǔ)言之結(jié)構(gòu)體定義 typedef struct 用法詳解和用法小結(jié)
這篇文章主要介紹了C語(yǔ)言的結(jié)構(gòu)體定義typedef struct用法詳解和用法小結(jié),typedef是類型定義,typedef struct 是為了使用這個(gè)結(jié)構(gòu)體方便,感興趣的同學(xué)可以參考閱讀2023-03-03
C語(yǔ)言編程中的聯(lián)合體union入門學(xué)習(xí)教程
這篇文章主要介紹了C語(yǔ)言編程中的聯(lián)合體union入門學(xué)習(xí)教程,也是C語(yǔ)言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-12-12
C語(yǔ)言與C++動(dòng)態(tài)通訊錄超詳細(xì)實(shí)現(xiàn)流程
這篇文章主要為大家介紹了C語(yǔ)言與C++動(dòng)態(tài)實(shí)現(xiàn)通訊錄,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-05-05

