windows10使用vscode+cmake編譯c++代碼


概述

  • 本文將介紹 VScode + cmakewindows10上編譯c++代碼
  • 前提: 我之前已經安裝過VS2017, 故 編譯將采用cl.exe。

開始之前

本文演示環境基於 windows10。cmake和 VScode版本如下。
VS code版本: 1.54.1
cmake 版本: 3.18

VSCode插件安裝

我的插件安裝的比較多,你瞧

還有

編譯本文演示的代碼需要打開VScode插件商店或者離線安裝如下插件:

c/c++

下載地址: 點我直達官網
點擊 install 將啟動vscode在線安裝 或者右側的 download extension再離線安裝

cmake

下載地址: 點我直達官網

cmake tools

下載地址: 點我直達官網
插件安裝后,下面開始准備安裝cmake

cmake

  • 下載地址: https://cmake.org/download/

  • 下載適合自己的版本, 安裝后,將其 cmake.exe所在目錄添加到系統環境變量(或者打開命令行轉到cmake.exe所在目錄),測試cmake是否安裝成功。

  • 測試鍵入命令cmake --version. 如果彈出類似下面的輸出,則說明成功

使用VScode打開文件夾

方便測試,可在桌面創建文件夾, 這里取名為 udp_socket 為例。創建成功后,使用VScode打開該文件夾, 方式有兩種:

  • 1.先打開VScode, VS code首頁會提示你選擇打開文件夾

    VScode 菜單也可以打開文件夾
  • 2.打開創建的udp_socket 文件夾,此時,點擊鼠標右鍵菜單中選擇 通過VScode打開 , 即可。

演示代碼

基於打開的VScode,創建 名為 main.cc 的文件

創建結束后是這樣的

文件已經准備好,准備一段測試代碼,如下

#include <iostream>

/// 增加函數調試使用
void hello_vs_code_()
{
    using namespace std;
    int x = 11 + 22 + 33;
    cout << "\n x = " << x;
}

int main(int argc, char* argv[], char* en[])
{
    using namespace std;
    cout << "hello vscode";
    hello_vs_code_();

    return 0;   
}

點擊保存。

准備cmakelists.txt文件

  • cmakelists.txt文件放在創建的 udp_socket文件夾下。
    可以創建默認的 CMakeLists.txt文件,不過,文件內容不是我想要的,我選擇了更加通俗易懂的 modern cmake。 cmakelists.txt文件內容如下
cmake_minimum_required(VERSION 3.18)

# ---------------------------------------------------------------------------------------------------
# 1. set name
project(lib_udp)

# ---------------------------------------------------------------------------------------------------
# 2. to get all source files
# set source files
# -------------------------------------------------------------------------------------
file(GLOB_RECURSE udp_src ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cc)

# build a library for udp
function(lib_udp_on_win)
	# dynamic library
	# ---------------------------------------------------------------------------------------------------

	# compiler is vs
	if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
		# build program
		add_executable( ${PROJECT_NAME} ${lib_udp_type} ${udp_src} )

		# .h and .cxx files
		target_sources(${PROJECT_NAME} PRIVATE ${udp_src} )

		# use c++11
		target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)

	endif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
endfunction(lib_udp_on_win)


# build  
# ---------------------------------------------------------------------------------------------
if (CMAKE_SYSTEM_NAME MATCHES "Windows")
	lib_udp_on_win()
endif()

這段配置代碼 僅配置一個可執行程項目。cmake語法不是本文的重點。

cmake tools 插件配置

  • 一定要理解, VScode僅僅是一個軟件,沒有Visual studio 2017這樣的IDE集成度高,什么都配置好了。
  • 打開VScode 的設置, 鍵入: cmake

    設置cmake.exe所在路徑,如圖,我的cmake安裝在C:\major\development\tools\cmake_64\bin目錄下,同時將cmake.exe添加到目錄后面,指定cmake的絕對路徑。

開始編譯代碼

下面的操作都是基於: ctrl + shift + p 快捷鍵。

1. select a kit

按下快捷鍵 ctrl + shift + p , 鍵入: cmake:select a kit, 回車選擇適合自己的工具包。

我這里演示的是x86

2. select variant

按下快捷鍵 ctrl + shift + p , 鍵入: cmake:select variant

因為要演示調試,這里選擇 debug.

build

按下快捷鍵 ctrl + shift + p , 鍵入: cmake:build, 選擇 cmake:build**. ![](https://img2020.cnblogs.com/blog/1630599/202103/1630599-20210314003520456-1189206038.png) 觀察輸出`窗口, 可以看到已經編譯成功

debug調試

設置好斷點,按下快捷鍵 ctrl + shift + p , 鍵入: cmake:debug , 程序將執行,並停在斷點所在位置,

調試快捷鍵和VS開發IDE一致。
左側可以觀察變量的值。

繼續運行F5

F5, 程序將運行結束。

補充(可有可無)

如果你更改了 cmakelists.txt文件,可以使用命令 cmake:configure實現項目配置,再執行build就OK了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM