这篇文章将为大家详细讲解有关窗户下vscode怎么使用cmake,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
说在前头:
- <李>
cmake的作用,是通过你的CMakeLists文件,根据你的工程自动帮你成makefile文件。优点是CMakeLists非常简单好写,makefile写起来则比较复杂。
李> <李>有了makefile文件,你就只需要使用编译器的使指令,便可以生成最终的可执行文件
李> <李>不同的编译器,所对应的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,安装即可,注意是下载可执行文件,不是源文件:
安装完成后记得将本路径添加到系统环境变量,确保在命令行中呢个直接搜索使用到cmake指令。
安装mingw
到mingw官网下载https://sourceforge.net/projects/mingw/,这个下载比较复杂,讲究也特别多,我是直接拉到底,下载已经配置好的安装包,并没有使用它的安装程序。
至于每个包代表的意思(参考的这位博主Mingw-w64在win10下的安装使用)如下(建议使用x86_64-win32-sjlj):
- <李>
64位系统选择x86_64, 32位系统选择i686;
李> <李>线程设置线程标准可选posix或win32;
李> <李>异常设置异常处理系统,x86_64可选为医师和sjlj, i686为矮和sjlj;
李>安装完成后还是将它的安装路径里面的本文件夹路径添加到系统环境变量中,确保在命令行中能检测得到gcc, g + +, mingw32-make
在vscode里面进行相关配置
- <李>
安装插件cmake, cmake工具,C/c++, c++智能感知
李> <李>先整好自己的c++配置文件确保语法提示什么的都有大概如下:
李>“configurations":, {才能 ,才能“name":,“win64" ,才能“includePath":, ,,,“$ {workspaceFolder}/* *, ,,,“$ {workspaceRoot}/公司/? ,,,“D:/OpenCV3/构建/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配置那写好自己的cmake路径,确保vscode能找到我们的cmake。
最后如前面所说,需要在设置文件里写上:<代码>“cmake.generator":“mingw Makefiles" 代码>
所有配置完成开始跑程序
新建一个文件夹,准备搞上自己的程序,我的文件夹文件分布大概是这样的:
CMakeLists内容大概是这样的:
#,最低cmake版本要求 cmake_minimum_required (VERSION 3.10.0) #,项目名称 项目(主要) #,设置C/c++标准 集(CMAKE_C_STANDARD 11) 集(CMAKE_CXX_STANDARD 17) 集(CMAKE_CXX_STANDARD_REQUIRED ) #,头文件路径 include_directories (“Inc",“D:/OpenCV3/构建/include") #,枚举头文件 文件(GLOB_RECURSE INCLUDES “公司/* .h",“公司/* .hpp") #,指定引用的外部库的搜索路径 LINK_DIRECTORIES (“D:/OpenCV3/mingw/安装/x86/mingw/lib") #,枚举源文件 aux_source_directory (“Src",来源) #,输出路径 集(EXECUTABLE_OUTPUT_PATH $ {PROJECT_BINARY_DIR}/bin) #,生成可执行的文件 add_executable ($ {PROJECT_NAME}, ${来源},{包括})美元 #,链接 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 nullwindows下vscode怎么使用cmake