vscode环境部署

目录

编译cpp

编译qt

借用插件

手撸(建议,避免很多未知错误)

踩过的坑


编译cpp

  • vscode安装2个插件,extension pack自动包了下面3个
  • 通过命令窗口code .打开代码目录,或者添加cl.exe路径到path,以及c++需要的include和lib 
    //在Path中添加cl.exe所在文件夹路径。若未找到,直接VS的安装目录下搜索cl.exe即可
    D:\enviroment\vs_2022\VC\Tools\MSVC\14.35.32215\bin\Hostx64\x64 //在系统变量中新建变量INCLUDE,添加cl.exe的包含目录
    D:\enviroment\vs_2022\VC\Tools\MSVC\14.35.32215\include C:\Program Files (x86)\Windows 
    Kits\10\Include\10.0.22000.0\shared C:\Program Files (x86)\Windows 
    Kits\10\Include\10.0.22000.0\ucrt C:\Program Files (x86)\Windows 
    Kits\10\Include\10.0.22000.0\um C:\Program Files (x86)\Windows 
    Kits\10\Include\10.0.22000.0\winrt //在系统变量中新建变量LIB,添加cl.exe的库目录
    D:\enviroment\vs_2022\VC\Tools\MSVC\14.35.32215\lib\x64 C:\Program Files (x86)\Windows 
    Kits\10\Lib\10.0.22000.0\um\x64 C:\Program Files (x86)\Windows 
    Kits\10\Lib\10.0.22000.0\ucrt\x64

  • F5选cl.exe即可​​

编译qt

借用插件

安装插件

填写qt安装路径,然后创建qt项目

 选择套件

选择cmake

创建好之后在下方状态栏选择kit

 如果mingw,则需要把D:\enviroment\qt_5.15.2\Tools\mingw810_64\bin添加到环境变量后重新扫描添加即可。

如果msvc,选择amd64即可。

手撸(建议,避免很多未知错误)

文件结构如下

 全部创建好之后,配置launch和cmakelists

launch就是改下program和env

        {"name": "cl.exe - 生成和调试活动文件","type": "cppvsdbg","request": "launch","program": "${command:cmake.launchTargetPath}","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [{"name": "PATH","value": "d:/environment/qt_5.15.2/5.15.2/msvc2019_64/bin"}],"console": "integratedTerminal","preLaunchTask": "C/C++: cl.exe 生成活动文件"}

 cmakelists则要注意把qrc也加到编译列表,且含q_object的头文件要先预编译成moc,所以这俩货都要扔进add_executable里

cmake_minimum_required(VERSION 3.16)project(demo)# 定义 CMAKE_BUILD_TYPE 变量
set(CMAKE_BUILD_TYPE Debug)# 在项目中使用 CMAKE_BUILD_TYPE 变量
if(CMAKE_BUILD_TYPE STREQUAL "Debug")message("Debug build")
else()message("Release build")
endif()set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)# 声明目标文件名称
set(TARGETNAME demoApp)#设置工程包含当前目录
set(CMAKE_INCLUDE_CURRENT_DIR ON)# 设置自动生成moc文件,AUTOMOC打开可以省去QT5_WRAP_CPP命令
SET(CMAKE_AUTOMOC ON)# 设置自动生成ui.h文件,AUTOUIC打开可以省去QT5_WRAP_UI命令
SET(CMAKE_AUTOUIC ON)
list(APPEND CMAKE_AUTOUIC_SEARCH_PATHS "form")# 【optional】设置自动处理.qrc文件
SET(CMAKE_AUTORCC ON)# 指定Qt依赖项
find_package(Qt5 COMPONENTS Core Gui  Widgets QuickWidgets WebEngineWidgets REQUIRED)file(GLOB HEAD_FILES "./inc/*.h")
aux_source_directory(./src SRC_FILES)# #设置自动生成UI文件夹 (因为设置了autouic,所以uic不用放进add_executable里面,除非你想在生成的sln里看到它)
# file(GLOB UI_FILES "./form/*.ui")
# QT5_WRAP_UI(WRAP_FILES ${UI_FILES})
# source_group("Ui" FILES ${UI_FILES} ${WRAP_FILES})# 设置资源目录
set(RESOURCES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/res)# 生成资源文件
qt5_add_resources(RESOURCES ${RESOURCES_DIR}/res.qrc)# 添加可执行文件 如果不在add_executable()中添加使用了Qt元系统的头文件,那么AUTOMOC就不会处理这些头文件。
add_executable(${TARGETNAME} ${SRC_FILES} ${HEAD_FILES} ${RESOURCES})#链接Qt库
target_link_libraries(${TARGETNAME} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::QuickWidgets Qt5::WebEngineWidgets)# 安装目标文件和头文件
install(TARGETS ${TARGETNAME} DESTINATION bin)
install(DIRECTORY include/ DESTINATION include)

踩过的坑

Q:创建ui的设计器左边displaywidgets总是找不到quickview和webengine

A:安装插件的自动被赋值到了anconda下面的某个designer了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/2276.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

津津乐道设计模式 - 桥接模式详解

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

clop勒索软件攻击活动频发,西门子能源中招

自6月初被通报利用MOVEit Transfer服务器中的零日漏洞窃取加密组织数据后,clop勒索软件攻击活动频繁,全球陆续发生了多起clop软件攻击事件。本周,Clop团伙在其数据泄露网站上列出了西门子能源公司的信息,表示该公司的数据被泄露。…

【数据结构】队列——顺序实现+链式实现(带头结点+不带头结点)入队 出队 初始化 判空 双端队列 完整代码

文章目录 四 队列1.基本概念2.队列的顺序存储3.队列的链式实现3.1 定义3.2 带头结点3.2.1 初始化3.2.2 判空3.2.3 入队3.2.4 出队3.2.5 完整代码 3.3 不带头结点3.3.1 初始化3.3.2 入队3.3.3 出队3.3.4 完整代码 4.双端队列 四 队列 1.基本概念 定义 只允许在一端进行插入&…

基于人工智能与边缘计算Aidlux的鸟类检测驱赶系统(可修改为coco 80类目标检测)

●项目名称 基于人工智能与边缘计算Aidlux的鸟类检测驱赶系统(可修改为coco 80类目标检测) ●项目简介 本项目在Aidlux上部署鸟类检测驱赶系统,通过视觉技术检测到有鸟类时,会进行提示。并可在源码上修改coco 80类目标检测索引直…

Kotlin Jetpack Compose - 实现Tab布局

Tab布局是一种常见的UI设计,它允许用户在不同的视图或数据集之间切换。我们将使用Jetpack Compose的 TabRow 和 ScrollableTabRow 组件来实现这个布局。 一、基本的Tab布局——TabRow 二、滚动的Tab布局——ScrollableTabRow 组件 三、自定义Tab组件 一、基本的T…

appium如何连接多台设备

目录 前言: 1.我们拿两台设备来模拟操作下,使用:adb devices查看连接状况,获取到设备名称。 2.获取需要操作app的包名和页面名称(前提该设备已经打开了app) 3.设置初始配置信息 4.打开页面后操作元素&am…

Spring MVC相关注解运用 —— 上篇

目录 一、Controller、RequestMapping 1.1 示例程序 1.2 测试结果 二、RequestParam 2.1 示例程序 2.2 测试结果 三、RequestHeader、CookieValue 3.1 示例程序 3.2 测试结果 四、SessionAttributes 4.1 示例程序 4.2 测试结果 五、ModelAttribute 5.1 示例程序 …

A核与M核异构通信过程解析

现在越来越多的产品具有M core和A core的异构架构,既能达到M核的实时要求,又能满足A核的生态和算力。比如NXP的i.MX8系列、瑞萨的RZ/G2L系列以及TI的AM62x系列等等。虽然这些处理器的品牌及性能有所不同,但多核通信原理基本一致,都…

Spring Boot中的SimpMessagingTemplate是什么,原理,以及如何使用

Spring Boot中的SimpMessagingTemplate是什么,原理,以及如何使用 SimpMessagingTemplate是Spring Framework中的一个类,用于向WebSocket客户端发送消息。在Spring Boot应用程序中,可以使用SimpMessagingTemplate来实现WebSocket通…

OpenCV 学习笔记(C++)(1.4W字)

一切图像皆Mat OpenCV中图像对象的创建与复制 Mat基本结构 Mat对象数据组成:头部和数据部分,头部存储图像的属性(大小、宽高、图像类型:浮点数类型、字节类型、16位整型、32位整型、双精度浮点型,通道数量和获取途径…

【微服务】什么是微服务?-- 全面了解微服务架构

What is Microservices — Edureka 您有没有想过,什么是微服务以及扩展行业如何与它们集成,同时构建应用程序以满足客户的期望? 要了解什么是微服务,您必须了解如何将单体应用程序分解为独立打包和部署的小型微型应用程序。本文将…

在windows server上用Mosquitto软件创建MQTT服务器

今天下午捣鼓了半天,在云服务器上面创建了个MQTT服务器,然后用MQTTX软件进行了测试。过程记录如下: 1、下载mosquitto软件,链接如下图: 2、下载完成后安装,一直点下一步下一步就好了。 3、在安装路径下&am…