windows下vscode使用cmake的方法

說在前頭:

  • cmake的作用,是通過你的CMakeLists文件,根據你的工程自動幫你成makefile文件。優點是CMakeLists非常簡單好寫,makefile寫起來則比較復雜。
  • 有瞭makefile文件,你就隻需要使用編譯器的make指令,便可以生成最終的可執行文件
  • 不同的編譯器,所對應的makefile有差異,如mingw的,visual studio的等等,因此使用cmake前,應指明它的文件生成對象是什麼,在vscode裡面的用戶設置文件裡面應寫上這麼一行:

"cmake.generator": "MinGW Makefiles"

或者這樣:

  "cmake.preferredGenerators": [
     "MinGW Makefiles"
   ],

還有一個坑就是我安裝的mingw面沒有mingw32-make.exe ,然後點擊生成時,vscode老是報錯。。。

 開始具體操作

需要進行一下3步:

  • 在電腦上安裝cmake
  • 在電腦上安裝mingw
  • 在vscode裡面進行一點配置操作

安裝cmake

到cmake官網https://cmake.org/download/,下載最新的cmake,安裝即可,註意是下載可執行文件,不是源文件:

在這裡插入圖片描述

安裝完成後記得將bin路徑添加到系統環境變量,確保在命令行中呢個直接搜索使用到cmake指令。

安裝mingw

到mingw官網下載https://sourceforge.net/projects/mingw/,這個下載比較復雜,講究也特別多,我是直接拉到底,下載已經配置好的安裝包,並沒有使用它的安裝程序。

在這裡插入圖片描述

至於每個包代表的意思(參考的這位博主Mingw-w64在win10下的安裝使用)如下(建議使用x86_64-win32-sjlj):

  • 64位系統選擇x86_64,32位系統選擇i686;
  • Threads設置線程標準可選posix或win32;
  • Exception設置異常處理系統,x86_64可選為seh和sjlj,i686為dwarf和sjlj;

安裝完成後還是將它的安裝路徑裡面的bin文件夾路徑添加到系統環境變量中,確保在命令行中能檢測得到gcc,g++,mingw32-make

在vscode裡面進行相關配置

  • 安裝插件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"

  }

 ]

主要是設置好那個”includePath”和”compilerPath”,根據自己的mingw路徑去設置,其次這裡要選擇win64:

在這裡插入圖片描述

然後在設置裡面的cmake configuration 那寫好自己的cmake路徑,確保vscode能找到我們的cmake。

在這裡插入圖片描述

最後如前面所說,需要在設置文件裡寫上:"cmake.generator": "MinGW Makefiles"

所有配置完成 開始跑程序

新建一個文件夾,準備搞上自己的程序,我的文件夾文件分佈大概是這樣的:

在這裡插入圖片描述

CMakeLists 內容大概是這樣的:

# 最低CMake版本要求
cmake_minimum_required(VERSION 3.10.0)

# 項目名稱
project(main)

# 設置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)

# 生成可執行的文件
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,然後點擊生成全部即可。。

在這裡插入圖片描述

到此這篇關於windows下vscode使用cmake的方法的文章就介紹到這瞭,更多相關vscode使用cmake內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: