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

 在这里填好程序名和参数,打上断点,再次点击调试就可以调试了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值