概述
vscode 里边使用cmake(win)
说在前头:
-
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,然后点击生成全部即可。。
最后
以上就是漂亮发卡为你收集整理的vscode 里边使用cmake(win)vscode 里边使用cmake(win)的全部内容,希望文章能够帮你解决vscode 里边使用cmake(win)vscode 里边使用cmake(win)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复