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

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

至于每個(gè)包代表的意思(參考的這位博主Mingw-w64在win10下的安裝使用)如下(建議使用x86_64-win32-sjlj):
- 64位系統(tǒng)選擇x86_64,32位系統(tǒng)選擇i686;
- Threads設(shè)置線程標(biāo)準(zhǔn)可選posix或win32;
- Exception設(shè)置異常處理系統(tǒng),x86_64可選為seh和sjlj,i686為dwarf和sjlj;
安裝完成后還是將它的安裝路徑里面的bin文件夾路徑添加到系統(tǒng)環(huán)境變量中,確保在命令行中能檢測(cè)得到gcc,g++,mingw32-make
在vscode里面進(jìn)行相關(guān)配置
- 安裝插件CMake,CMake tools ,C/C++,C++ Intellisense
- 先整好自己的C++配置文件 確保語(yǔ)法提示什么的都有大概如下:
"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è)置好那個(gè)"includePath"和"compilerPath",根據(jù)自己的mingw路徑去設(shè)置,其次這里要選擇win64:

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

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

CMakeLists 內(nèi)容大概是這樣的:
# 最低CMake版本要求
cmake_minimum_required(VERSION 3.10.0)
# 項(xiàng)目名稱
project(main)
# 設(shè)置C/C++標(biāo)準(zhǔn)
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")
# 指定引用的外部庫(kù)的搜索路徑
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
)
接下來(lái)就是寫(xiě)程序,然后選定工具包kit,然后點(diǎn)擊生成全部即可。。

到此這篇關(guān)于windows下vscode使用cmake的方法的文章就介紹到這了,更多相關(guān)vscode使用cmake內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MFC設(shè)置對(duì)話框焦點(diǎn)的方法簡(jiǎn)述
這篇文章主要介紹了MFC設(shè)置對(duì)話框焦點(diǎn)的方法簡(jiǎn)述,主要講述了兩種實(shí)現(xiàn)方法,需要的朋友可以參考下2014-10-10
C語(yǔ)言中qsort函數(shù)的用法實(shí)例詳解
這篇文章主要介紹了C語(yǔ)言中qsort函數(shù)的用法實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下2017-10-10
關(guān)于python調(diào)用c++動(dòng)態(tài)庫(kù)dll時(shí)的參數(shù)傳遞問(wèn)題
這篇文章主要介紹了python調(diào)用c++動(dòng)態(tài)庫(kù)dll時(shí)的參數(shù)傳遞,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04
C++實(shí)現(xiàn)LeetCode(186.翻轉(zhuǎn)字符串中的單詞之二)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(186.翻轉(zhuǎn)字符串中的單詞之二),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
數(shù)據(jù)結(jié)構(gòu)之伸展樹(shù)詳解
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)之伸展樹(shù)詳解,本文對(duì)伸展樹(shù)(Splay Tree)的單旋轉(zhuǎn)操作、一字型旋轉(zhuǎn)、之字形旋轉(zhuǎn)區(qū)間操作等理論知識(shí)做了講解,并給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-08-08

