文件c++项目"/>
windows下使用cmake手动构建多文件c++项目
在windows下使用vscode开发多文件c/c++项目对于初学者来说配置vscode的过程很痛苦,网络上的教程很多,大部分教程都差不多,需要配置task.json,cpp_prot.。。.json,而大部分人都不知道这样配置的原理是什么,弄得一头雾水,文章将从cmake的方式介绍c++程序配置编译运行和调试的过程,并且不限于windows,linux,mac也适用。
首先时不推荐使用vscode中的task.json去配置项目的构建编译,这种方式也就是将一条命令转化成按一个按钮的过程,并没有提供多少便利,另外,在json中配置的过程和写cmakelists原理上时一样的,而cmakelists更直观一些,并且有了cmakelists你的项目就可以在其他平台无需任何改动就可以编译,比如从windows上的mingw到linux上编译,只需要执行cmake就可以生成对应的makefile,而且,使用cmake可以管理更加复杂的中大型项目,这是vscode自动任务做不到的。
1.需要准备的基本环境:mingw64,cmake
把gcc,g++,make,cmake,gdb都添加到系统环境变量里,在cmd中输入要能调用。
2.新建一个项目,如图所示
3. 然后可以按照(53条消息) VSCode与CMake搭配使用之基本配置_Frank的专栏-CSDN博客
提到的生成cmakelists.txt,也可以去网上找一个简单的,然后编写此文件,将项目中的cpp文件写到add_executable里
4.然后开始生成makefile,windows上的cmake比较特殊,在cmd中输入cmake --help可以看一下使用帮助
有一些选项,最重要的是下面这个
它可以生成多个格式的makefile,这些是不通用的,所以在生成时要选对,使用mingw我们选unix
生成makefile的步骤是
新建build文件夹,进入build文件夹
执行cmake ../ -G "Unix Makefiles" (linux mac不需要后面的-g这些)
可以看到以已经成功生成了makefile
5.编译,直接执行make
可以看到以及成功生成了exe可执行文件,通过./来运行,有输出结果。
以上是手动编译过程,生成cmakelists.txt后vscode也会出现一些按钮和选项,直接点击也可以替代我们输命令编译的过程,两者皆可。
"cmake.EXE"
--no-warn-unused-cli
-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE
-DCMAKE_BUILD_TYPE:STRING=Debug
-DCMAKE_C_COMPILER:FILEPATH=D:\mingw64\bin\x86_64-w64-mingw32-gcc.exe
-DCMAKE_CXX_COMPILER:FILEPATH=D:\mingw64\bin\x86_64-w64-mingw32-g++.exe
-Hc:/Users/Admin/Desktop/222
-Bc:/Users/Admin/Desktop/222/build
-G "Unix Makefiles"
"cmake.EXE"
--build c:/Users/Admin/Desktop/222/build
--config Debug
--target all
-j 10 --
上面是vscode的自动输出的命令
clion的是
"cmake.exe"
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_MAKE_PROGRAM=D:/mingw64/bin/make.exe
-DCMAKE_C_COMPILER=D:/mingw64/bin/gcc.exe
-DCMAKE_CXX_COMPILER=D:/mingw64/bin/g++.exe
-DCMAKE_DEPENDS_USE_COMPILER=FALSE
-G "CodeBlocks - MinGW Makefiles"
"cmake.exe"
--build C:\Users\Admin\Desktop\111\cmake-build-debug
--target pro
-- -j 6
6.调试,不论用什么方法编译都是可以调试的,不过只有在camke中指定了debug模式或者-g选项生成的exe才可以调试。
首先是gdb 命令行调试,在终端中输入gdb 程序名.exe,这里就不多说了,用的不多。
然后是使用vscode调试
生成exe文件后,
全部选默认的,然后会报错,点击打开launch.json或者会直接跳出来launch.json
在这里填好程序名和参数,打上断点,再次点击调试就可以调试了。
更多推荐
windows下使用cmake手动构建多文件c++项目
发布评论