IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> VS Code 编译、调试 C/C++ -> 正文阅读

[C++知识库]VS Code 编译、调试 C/C++

VS Code 编译、调试 C/C++

VSCode,全称Visual Studio Code(在Visual Studio后边加了一个Code),有时也简称为 VSC,是一个编辑器。

在 VS Code 中构建和运行

TL;DR: VS Code 商店里有 CMake Tools 插件;使用 CMake 生成构建档,再搭配插件,build & run 可以一气呵成。

配套视频:哔哩哔哩 - BV1MM4y1N7qE

VS Code 是一个可以搭配很多插件、因此很好用的代码编辑器;既然是编辑器,那么它本身其实不是为了调试程序而设计的。

不过,编写一些小的程序,甚至小型的工程,使用 IDE 会稍显庞大,一般也可以选择使用 VS Code 编写;写好之后,想顺手在 VS Code 中编译运行的时候,可能会遇到一些问题。

首先,对于单文件或几个文件的小程序,可以在终端中通过命令行进行编译链接和调试;商店中也有 Code Runner 之类的插件也有帮助,但本质上也是替用户在 Shell 中执行命令,二选一的话还是建议自己手动输入命令。

实际上,在商店中安装 C/C++ 插件后,点击Start Debugging / 按F5可以直接进入调试的,断点和变量查看都没有问题,插件直接帮助配置好了lanuch.json等文件

但是当程序需要链接外部库的时候,事情就变得复杂了。

g++ 添加到 Windows 环境变量后,在 cmd 或者 PowerShell 里面都能使用,而这个 MinGW gcc 也能找到 msys2 环境中的系统标头文件路径,以及链接 C++ 标准库文件。因此,仅编译源代码文件,以及编译链接使用 C++ 标准库的程序,是没有问题的。

但是要链接外部库,就要指定库文件路径以及库文件名;直接点击F5是不行了,因为没有指定要链接的库;好在 msys2 也有pkg-config可供使用,调用它可以获取外部库的标头文件路径以及库文件路径,比如有一个show_img.cpp使用了 OpenCV 这个库,理论上,这样写命令便能实现目的:

g++ show_img.cpp -o show_img $(pkg-config --cflags --libs opencv4)

$() 为命令替换符,作用是获取其他命令的输出。

不过可惜的是,在 PowerShell 中输入上述命令,g++ 并不能完成链接操作(没有对应的环境变量);只有在 msys2 的窗口中能够正常使用。索性放弃手动输入命令,转向使用 CMake 进行程序的构建。

关于 CMake 的使用,见另一篇文章。这里只做简单介绍。

要使用 CMake,首先安装 CMake,并把二进制文件添加到环境变量,这样就能在命令行中使用了;然后,需要写CMakeLists.txt,大概像这样:

cmake_minimum_required(VERSION 3.13)
project(opencv_test)
set(CMAKE_CXX_STANDARD 17)

find_package(OpenCV REQUIRED)

add_executable(show_img show_img.cpp)
target_link_libraries(show_img ${OpenCV_LIBS})

虽然成功找到 OpenCV 的安装之后,会写入OpenCV_DIRS变量,但并不需要使用 include_directories(${OpenCV_INCLUDE_DIRS}) 命令。

之后,随便进入某个文件夹(一般还是选择在项目文件夹下新建一个build目录),然后在目录下执行cmake并指定CMakeLists.txt所在的目录,若在 Windows 下想要使用 msys2 的工具链进行构建(使用 msys2 环境下安装的库),还要指定 CMake 生成的构建档的类型,如:

cmake .. -G "MinGW Makefiles"

然后开始构建(默认以 Release 生成;路径需要指定为CMakeCache.txt所在目录,也就是构建目录下):

cmake --build .

之后就会看到生成的show_img可执行文件出现在build目录下。

而 VS Code 商店中是有 CMake Tools 插件的,安装后我们会发现 VS Code 界面上出现了 CMake 相关的选项;选择好构建类型、构建项、启动项之后,只需要点击调试或者运行按钮就可以了。

综上,个人感觉 CMake 是目前最好的解决方案,写一次CMakeLists.txt,到处都可以用。


扩展阅读:

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-01 14:19:22  更:2021-08-01 14:21:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/1 6:14:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码