当前位置: 首页 > news >正文

vscode+cmake+msvc+vcpkg的入门使用

一.环境安装

        1.下载vscode并安装: Download Visual Studio Code - Mac, Linux, Windows

        2.安装完成后,安装C++和cmake 相关工具,如图。

        

        3.vcpkg的下载和安装 

        克隆vcpkg的仓库到本地:https://github.com/microsoft/vcpkg.git,运行bootstrap-vcpkg.bat,会下载vcpkg.exe到当前目录,下载成功就ok了。

二.环境变量的设置

        1.vcpkg路径添加到环境变量,既可以添加全局的环境变量,也可以在vscode的cmake 设置下添加编译时的环境变量都可以。

        2.msvc编译器cl.exe的环境变量设置。

        include:

        lib:

        path:

三.设置项目

        1.拿官方示例来演示,先创建main.cpp和CMakeLists.txt

        main.cpp

#include <fmt/core.h>int main()
{fmt::print("Hello World!\n");return 0;
}

        CMakeLists.txt

cmake_minimum_required(VERSION 3.10)project(HelloWorld)find_package(fmt CONFIG REQUIRED)add_executable(HelloWorld main.cpp)target_link_libraries(HelloWorld PRIVATE fmt::fmt)

        2.创建以来文件vcpkg.json文件。

{"dependencies": ["fmt"]
}

四.编译调试

        1.上面完成后,打开vscode,打开文件夹helloword_test。

        2.选择工具包,终端输入vckpg install 安装我们的第三方依赖库fmt。

        3.点击生成按钮。

        4. 目录如下。

        build目录就是可执行程序, vcpkg_installed目录就是依赖库的目录。

        5.我们配置调试launch.json文件。

        6.launch.json文件如下,设置一下运行exe即可。

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "C/C++ Launch (MSVC)","type": "cppvsdbg","request": "launch","program": "${workspaceFolder}\\build\\Debug\\HelloWorld.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"internalConsoleOptions": "neverOpen"}]
}

        7.调试界面截图。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++设计模式笔记(内附可运行代码示例)
  • Github 2024-07-25开源项目日报 Top10
  • ubuntu24.04 LTS安装BackupPC备份软件
  • docker compose 安装 kafka
  • ArduPilot开源代码之ROS2Humble+CartographerSLAM+SITL+Gazebo
  • reshape函数及MATLAB应用
  • sql查询优化小知识-01,非等值条件查询影响
  • Vue3基础语法
  • C#-了解ORM框架SqlSugar并快速使用(附工具)
  • c# 对接第三方接口实现签名
  • 记一次因敏感信息泄露而导致的越权+存储型XSS
  • 谷粒商城实战笔记-75-商品服务-API-品牌管理-品牌分类关联与级联更新
  • 微信小程序云开发订单微信支付与小票和标签打印的完整高效流程
  • 【C# 】Pipe管道通信使用
  • Java实现数据库图片上传(包含从数据库拿图片传递前端渲染)-图文详解
  • [译]前端离线指南(上)
  • E-HPC支持多队列管理和自动伸缩
  • JavaScript设计模式与开发实践系列之策略模式
  • JAVA之继承和多态
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Sass 快速入门教程
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • yii2权限控制rbac之rule详细讲解
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 机器学习学习笔记一
  • 三分钟教你同步 Visual Studio Code 设置
  • 树莓派 - 使用须知
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 消息队列系列二(IOT中消息队列的应用)
  • 原生 js 实现移动端 Touch 滑动反弹
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • #laravel部署安装报错loadFactoriesFrom是undefined method #
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • $GOPATH/go.mod exists but should not goland
  • %@ page import=%的用法
  • (C#)一个最简单的链表类
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (黑马C++)L06 重载与继承
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (十一)手动添加用户和文件的特殊权限
  • (五)Python 垃圾回收机制
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .net经典笔试题
  • @EnableConfigurationProperties注解使用
  • @FeignClient注解,fallback和fallbackFactory
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [20171101]rman to destination.txt
  • [8-23]知识梳理:文件系统、Bash基础特性、目录管理、文件管理、文本查看编辑处理...
  • [ACM独立出版] 2024年虚拟现实、图像和信号处理国际学术会议(VRISP 2024,8月2日-4)