Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
浅谈VSCode配置并进行Qt开发的方法_创想鸟

浅谈VSCode配置并进行Qt开发的方法

qt是一个由qt company开发的跨平台c++图形用户界面应用程序开发框架,本篇文章给大家介绍一下将qt的bin目录添加到环境变量、安装vscode扩展、使用vs code进行qt开发、构建并运行项目的方法。

浅谈VSCode配置并进行Qt开发的方法

【推荐学习:《vscode教程》】

Qt Creator界面不美观,而VS Code更漂亮一些。

因为Qt5支持使用CMake进行构建,而VS Code也可以支持CMake构建系统,因此是完全可以的。

测试环境

Qt 5.15.0CMake 3.17.5Visual Studio 2019 16.7.5(使用C++的桌面开发)Visual Studio Code 1.49.3

步骤

1. 将Qt的bin目录添加到环境变量

假设Qt安装在C:Qt,那么将C:Qt5.15.0msvc2019_64bin添加到环境变量。

2. 安装VS Code扩展

在扩展商店搜索c++,安装微软发行的C/C++扩展。

c++

在扩展商店搜索cmake,安装前两个扩展,分别为CMake、CMake Tools。

cmake

3. 使用Qt Creator创建CMake项目

使用Qt Creator创建一个测试项目,如图所示:

creator

4. 在VS Code中打开项目

用VS Code打开CMakeLists.txt文件所在目录,如图所示:

vscode

需要选择一个kit,我是用的是VS 2019的工具包,也可以使用MinGW,具体请参考CMake扩展的官方文档。

提示是否配置智能感知,选择是。

5. 构建并运行项目

按F7进行构建:

buildqt

行者AI 行者AI

行者AI绘图创作,唤醒新的灵感,创造更多可能

行者AI 100 查看详情 行者AI

按Shift + F5运行:

run

7. 调试项目

添加断点,按下Ctrl + F5进行调试:

debug

一些小问题

测试后发现如果使用MinGW构建则不会出现下面的问题,而使用Visual C++构建则会出现。

上述所有步骤完成后,已经可以正常编码和运行,但智能感知有一点问题,如图:

problem

原因在于Qt生成的ui文件没有被包含到智能感知的include目录中。

查询了CMake文档后发现ui文件所在目录会被添加到目标属性的include目录属性中:

check

但实际验证发现并没有,所以我们还需要手动添加这个属性。

假设生成的目标为Test,在CMakeLists.txt文件的最后一行添加:

target_include_directories(Test PRIVATE "${CMAKE_BINARY_DIR}/Test_autogen/include_Debug")

最终的CMakeLists.txt文件内容为:

cmake_minimum_required(VERSION 3.5)project(Test LANGUAGES CXX)set(CMAKE_INCLUDE_CURRENT_DIR ON)set(CMAKE_AUTOUIC ON)set(CMAKE_AUTOMOC ON)set(CMAKE_AUTORCC ON)set(CMAKE_CXX_STANDARD 11)set(CMAKE_CXX_STANDARD_REQUIRED ON)# QtCreator supports the following variables for Android, which are identical to qmake Android variables.# Check http://doc.qt.io/qt-5/deployment-android.html for more information.# They need to be set before the find_package(Qt5 ...) call.#if(ANDROID)#    set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")#    if (ANDROID_ABI STREQUAL "armeabi-v7a")#        set(ANDROID_EXTRA_LIBS#            ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libcrypto.so#            ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libssl.so)#    endif()#endif()find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)if(ANDROID)  add_library(Test SHARED    main.cpp    mainwindow.cpp    mainwindow.h    mainwindow.ui  )else()  add_executable(Test    main.cpp    mainwindow.cpp    mainwindow.h    mainwindow.ui  )endif()target_link_libraries(Test PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)target_include_directories(Test PRIVATE "${CMAKE_BINARY_DIR}/Test_autogen/include_Debug")

智能感知正常工作:

resolve

更多编程相关知识,请访问:编程入门!!

以上就是浅谈VSCode配置并进行Qt开发的方法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/502822.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
交管12123绑定非本人车辆怎么弄_交管12123绑定非本人车辆操作方法
上一篇 2025年11月8日 21:06:31
php的标签有哪些类型
下一篇 2025年11月8日 21:06:32

相关推荐

发表回复

登录后才能评论
关注微信