windows下vscode使用cmake的方法
說在前頭:
- cmake的作用,是通過你的CMakeLists文件,根據(jù)你的工程自動幫你成makefile文件。優(yōu)點是CMakeLists非常簡單好寫,makefile寫起來則比較復(fù)雜。
- 有了makefile文件,你就只需要使用編譯器的make指令,便可以生成最終的可執(zhí)行文件
- 不同的編譯器,所對應(yīng)的makefile有差異,如mingw的,visual studio的等等,因此使用cmake前,應(yīng)指明它的文件生成對象是什么,在vscode里面的用戶設(shè)置文件里面應(yīng)寫上這么一行:
"cmake.generator": "MinGW Makefiles"
或者這樣:
"cmake.preferredGenerators": [
"MinGW Makefiles"
],
還有一個坑就是我安裝的mingw面沒有mingw32-make.exe ,然后點擊生成時,vscode老是報錯。。。
開始具體操作
需要進行一下3步:
- 在電腦上安裝cmake
- 在電腦上安裝mingw
- 在vscode里面進行一點配置操作
安裝cmake
到cmake官網(wǎng)https://cmake.org/download/,下載最新的cmake,安裝即可,注意是下載可執(zhí)行文件,不是源文件:

安裝完成后記得將bin路徑添加到系統(tǒng)環(huán)境變量,確保在命令行中呢個直接搜索使用到cmake指令。
安裝mingw
到mingw官網(wǎng)下載https://sourceforge.net/projects/mingw/,這個下載比較復(fù)雜,講究也特別多,我是直接拉到底,下載已經(jīng)配置好的安裝包,并沒有使用它的安裝程序。

至于每個包代表的意思(參考的這位博主Mingw-w64在win10下的安裝使用)如下(建議使用x86_64-win32-sjlj):
- 64位系統(tǒng)選擇x86_64,32位系統(tǒng)選擇i686;
- Threads設(shè)置線程標準可選posix或win32;
- Exception設(shè)置異常處理系統(tǒng),x86_64可選為seh和sjlj,i686為dwarf和sjlj;
安裝完成后還是將它的安裝路徑里面的bin文件夾路徑添加到系統(tǒng)環(huán)境變量中,確保在命令行中能檢測得到gcc,g++,mingw32-make
在vscode里面進行相關(guān)配置
- 安裝插件CMake,CMake tools ,C/C++,C++ Intellisense
- 先整好自己的C++配置文件 確保語法提示什么的都有大概如下:
"configurations": [
{
"name": "win64",
"includePath": [
"${workspaceFolder}/**",
"${workspaceRoot}/Inc/",
"D:/OpenCV3/build/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "8.1",
"compilerPath": "C:/MySolfware/MinGW/bin/g++.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-64",
"configurationProvider": "ms-vscode.cmake-tools"
}
]
主要是設(shè)置好那個"includePath"和"compilerPath",根據(jù)自己的mingw路徑去設(shè)置,其次這里要選擇win64:

然后在設(shè)置里面的cmake configuration 那寫好自己的cmake路徑,確保vscode能找到我們的cmake。

最后如前面所說,需要在設(shè)置文件里寫上:"cmake.generator": "MinGW Makefiles"
所有配置完成 開始跑程序
新建一個文件夾,準備搞上自己的程序,我的文件夾文件分布大概是這樣的:

CMakeLists 內(nèi)容大概是這樣的:
# 最低CMake版本要求
cmake_minimum_required(VERSION 3.10.0)
# 項目名稱
project(main)
# 設(shè)置C/C++標準
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 頭文件路徑
include_directories("Inc" "D:/OpenCV3/build/include")
# 枚舉頭文件
file(GLOB_RECURSE INCLUDES "Inc/*.h" "Inc/*.hpp")
# 指定引用的外部庫的搜索路徑
LINK_DIRECTORIES("D:/OpenCV3/mingw/install/x86/mingw/lib")
# 枚舉源文件
aux_source_directory("Src" SOURCES)
# 輸出路徑
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
# 生成可執(zhí)行的文件
add_executable(${PROJECT_NAME} ${SOURCES} ${INCLUDES})
# 鏈接
TARGET_LINK_LIBRARIES(${PROJECT_NAME} libopencv_highgui310.dll.a libopencv_core310.dll.a
libopencv_calib3d310.dll.a
libopencv_features2d310.dll.a
libopencv_flann310.dll.a
libopencv_imgcodecs310.dll.a
libopencv_ml310.dll.a
libopencv_objdetect310.dll.a
libopencv_photo310.dll.a
libopencv_shape310.dll.a
libopencv_stitching310.dll.a
libopencv_superres310.dll.a
libopencv_video310.dll.a
libopencv_videostab310.dll.a
libopencv_imgproc310.dll.a
libopencv_videoio310.dll.a
)
接下來就是寫程序,然后選定工具包kit,然后點擊生成全部即可。。

到此這篇關(guān)于windows下vscode使用cmake的方法的文章就介紹到這了,更多相關(guān)vscode使用cmake內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++實現(xiàn)LeetCode(61.旋轉(zhuǎn)鏈表)
這篇文章主要介紹了C++實現(xiàn)LeetCode(61.旋轉(zhuǎn)鏈表),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07
C語言實現(xiàn)通用數(shù)據(jù)結(jié)構(gòu)之通用椎棧
這篇文章主要為大家詳細介紹了C語言實現(xiàn)通用數(shù)據(jù)結(jié)構(gòu)之通用椎棧,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11

