| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> linux下vscode配置c++,使其和Visual Studio2019一样调试 -> 正文阅读 |
|
[开发工具]linux下vscode配置c++,使其和Visual Studio2019一样调试 |
linux下c++编译的方式? ? ? ? 在win下visual studio为我们进行了大量的封装,同时设计了大量的容易操作的配置和界面,使得开发人员不过太过关注底层的编译链接过程,只需要关注代码本身即可,提升了开发的效率,但是在linux下就不一样了,linux下的编译和链接需要我们自己动手做,因此你会发现linux下会有很多种方式进行编译链接,这样只聊三种集Makefile、cmake和vscode: Makefile? ? ? ? 这里来源不介绍了,直接给教程,可以看这篇文章 cmake? ? ? ? cmake算是对Makefile的进一步的封装,使开发人员,不用花费大量的时间花在写Makefile上,只需要简单的几个命令即可完成编译链接操作,详细的教程可以看看我前几篇文章,也可以看看其他人的文章,不难理解 VScode c++环境配置? ? ? ? 虽然Makefile和cmake都可以完成c++的编译链接操作,但是因为在win开发用的vs2019的ide,比较喜欢在ide上进行编译链接和调试,那么最好的ide就是vscode,vscode不是针对c++的编译器,可说他是一个工具,可定制的编程ide工作,那么想要达到我的目的我就需要对其进行配置,使其和vs2019那样,如何操作呢?接下来将详细介绍如何配置: 1. 项目说明? ? ? ? 该实验项目是需要依赖opencv的库,也有多个源码cpp文件,通过main进行调用,那么就需要配置vscode使其支持多文件的编译和链接,同时支持依赖外部库,话不多说,这里开始工作,文件的目录结构如下: ?上面的cmakelists.txt和build文件夹,大家不用理会,那是使用cmake操作的,目录只包含src和根目录的main.cpp,src的源文件依赖opencv,同时src存在大量的cpp文件。 2. 配置vscode环境? ? ? ? 第一步你应该了解vscode配置c++环境时需要的三个文件分别是:tasks.json、launch.json、c_cpp_properties.json,这个三个文件,关于这三个文件可以看看这篇文章,网上其他的文章大多数都是hello word,这种配置很简单的,但是复杂的是多文件、多文件和多目录下面的文件编译和调试配置,这里将详细介绍,首先你需要明白的是无论是cmake还是vscode还是其他最终都是通过Makefile进行编译链接的,而不同之处在于他们进一步对Makefile进一步的封装,因此我们配置vscode的其实也是配置Makefile的命令而已,理解到这一步就好做了, 先看看c_cpp_properties.json这个文件: ?这个文件的最大作用是包含头文件, 使你在编写c++是能够找到函数,代码会高亮不会出现波浪形提示,因此这里应该添加你的外部库的头文件,如opencv的头文件等 launch.json文件 ?该文件主要是添加gdb调试任务 tasks.json文件 ?这个文件很重要,他是编译链接的主要配置文件,通常如果有多个文件夹直接澡-g后面把源文件目录添加进来即可,可以是.cpp和.c文件,然后采用通配符的方式自动添加即可,如果依赖第三方库在后面直接添加即可,其中: -I (大写i)是包含目录的意思 -L是包含库目录的意思 -l (L小写)是链接库的意思 还有很多命令都可以通过这里添加,这样需要去研究Makefile的命令,因为上面的命令都是Makefile的命令。 调试画面: ?跟踪到源码 方便大家使用:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/15 17:45:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |