基于VSCode和CMake进行C++多文件编译及调试

1 篇文章 0 订阅
1 篇文章 0 订阅

1. 创建项目工程及代码编写(Windows平台)

首先创建项目文件(文件名hello),并用VScode打开,进行项目编程。项目结构如下:

在这里插入图片描述

“避坑说明:头文件名称不要设置为include,会识别不到,报错”

对应文件代码如下:

头文件 print.h

#ifndef _PRINT_H_
#define _PRINT_H_

#include <iostream>
using namespace std;
void print();

#endif 

源文件 print.cpp

#include "print.h"

void print()
{
    cout << "hello world!" << endl;
}

源文件 main.cpp

#include <iostream>
#include "print.h"
using namespace std;

int main()
{
    print(); 
    //cout << "hello, VScode!" << endl;  
    return 0;
}

CMakeLists.txt文件

#规定cmake的最低版本要求
cmake_minimum_required (VERSION 3.10)
#设置c++编译器
set(CMAKE_CXX_COMPILER "g++")
#项目的名称,可以和文件夹名称(HELLO)不同
project(Cmake_print)
#添加头文件的搜索路径
include_directories(${PROJECT_SOURCE_DIR}/header)
#将源文件列表写在变量SrcFiles中
aux_source_directory(./src SrcFiles)
#设置可执行文件输出路径
set(EXECUTABLE_OUTPUT_PATH  ${PROJECT_SOURCE_DIR}/bin)
#设置可执行文件的名称,make之后bin目录下出现myprint.exe
add_executable(myprint ${SrcFiles})

2. 两种编译方法

方式一:自动配置

  1. 首先,按住Ctrl+Shift+P,输入CMake: Configure,配置CMake。
    在这里插入图片描述2. 配置完成后,在最下方会出现一条状态栏。先后执行Build和 run。
    在这里插入图片描述3. 成功输出
    在这里插入图片描述

方式二:手动配置

# 1. 打开新的终端,在当前目录下,创建build文件夹
mkdir build
# 2. 进入到build文件夹下
cd build
# 3. 编译上级目录的CMakeLists.txt,生成Makefile和其他文件
cmake ..   # Linux平台
cmake -G "MinGW Makefiles" ..   # Windows平台
# 4. 执行make命令,生成target
make   # Linux平台
mingw32-make.exe  # Windows平台

在这里插入图片描述在这里插入图片描述

3. F5自动调试

CMake多文件调试

想要F5自动调试需要配置json文件

  • launch.json – for debug
  • tasks.json – for build before debug

以上面的项目为参考进行相关文件配置

1. 配置c_cpp_properties.json文件

按住按住Ctrl+Shift+P,输入C/C++:Edit Configurations (UI),进行配置。
在这里插入图片描述

{
    "configurations": [
        {
            "name": "Win32",
            // 头文件,静态链接库,动态链接库的路径  ${workspaceFolder}指当前项目路径
            "includePath": [
                "${workspaceFolder}/**",
                "${workspaceFolder}/header"           
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:\\Environment\\mingw64\\bin\\gcc.exe",  // 编译器的路径
            "cStandard": "gnu17",  // c标准
            "cppStandard": "c++11",  // c++标准
            "intelliSenseMode": "windows-gcc-x64",  // 编译器感知
            "configurationProvider": "ms-vscode.cmake-tools"
        }
    ],
    "version": 4
}
2. 配置任务tasks.json文件

按住按住Ctrl+Shift+P,输入Tasks: Configure Default Build Task,进行配置。
在这里插入图片描述

{
	"version": "2.0.0",
	"options": {
		"cwd": "${workspaceFolder}\\build"
	},

	"tasks":[
		{
			"type": "shell",
			"label": "cmake",
			"command": "cmake",		
			// 命令行参数
			"args": [
				"-G",
				"MinGW Makefiles",
				".."
			]
		},

		{
			"label": "make",
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"command": "mingw32-make.exe",
			// 命令行参数
			"args": []
		},

		{
			"label": "Build",
			"dependsOn":[
				"cmake",
				"make"
			]
		}

	]	
}
3. 配置 launch.json文件

按下F5调试,进行launch.json文件配置。
在这里插入图片描述

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示,一般不用修改  
            "type": "cppdbg", // 配置类型,这里只能为cppdbg  
            "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)  
            // 将要调试的可执行程序的路径 
            "program": "${workspaceFolder}\\bin\\myprint.exe",
            // 程序调试时传递给程序的命令行参数,一般设为空即可
            "args": [],
            // 默认为false,设为true时,就算没有设置断点,调试时程序也将暂停在程序入口处
            "stopAtEntry": false, 
            // 要调试的可执行程序的工作路径 
            "cwd": "${workspaceFolder}\\bin",
            "environment": [],
            "externalConsole": false, // 调试时是否显示控制台窗口,设置为true显示控制台  
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\Environment\\mingw64\\bin\\gdb.exe", // 调试器mingw64的安装路径  
            "preLaunchTask": "Build",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

然后,按F5即可进行代码调试。

  • 11
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在VS Code中使用CMake配置OpenCV C++项目,可以按照以下步骤进行操作: 1. 确保已经安装了Visual Studio Code和CMake,并将它们添加到系统的环境变量中。 2. 创建一个新的文件夹作为您的项目文件夹,并在其中创建一个CMakeLists.txt文件。在CMakeLists.txt中,输入以下内容: ```cmake cmake_minimum_required(VERSION 3.0) project(YourProjectName) find_package(OpenCV REQUIRED) add_executable(YourExecutableName main.cpp) target_link_libraries(YourExecutableName ${OpenCV_LIBS}) ``` 这个CMakeLists.txt文件指定了项目的最低CMake版本、项目名称以及要使用的OpenCV库。 3. 在项目文件夹中创建一个main.cpp文件,并编写您的OpenCV C++代码。 4. 打开Visual Studio Code,选择“文件”->“打开文件夹”,并选择您的项目文件夹。 5. 安装CMake Tools插件。在Visual Studio Code的扩展面板中搜索"CMake Tools"并安装。 6. 在Visual Studio Code的底部状态栏,找到一个齿轮图标,点击它以打开CMake Tools。 7. 在CMake Tools的侧边栏中,选择您的项目文件夹并点击“配置”。 8. 在弹出的对话框中,选择一个构建目录(可以是您项目文件夹下的子文件夹),然后选择CMake工具链。 9. 在弹出的对话框中,输入以下参数并保存: - "cmake.configureOnOpen": false - "cmake.buildDirectory": "build" 这些参数将配置CMake Tools以在打开项目时不自动运行CMake,并将生成的文件放在名为"build"的文件夹中。 10. 回到CMake Tools的侧边栏,点击“配置”按钮,然后选择“生成”按钮。这将运行CMake生成您的项目。 11. 在CMake Tools的侧边栏中,点击“构建”按钮来编译您的项目。 12. 您可以在Visual Studio Code的终端中运行您的可执行文件,或者根据需要进行调试。 这样,您就可以在VS Code中使用CMake配置OpenCV C++项目了。记得根据您的具体项目情况修改CMakeLists.txt和main.cpp文件。祝您成功!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值