Heim  >  Artikel  >  Entwicklungswerkzeuge  >  Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt

Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt

青灯夜游
青灯夜游nach vorne
2021-06-23 11:28:5720826Durchsuche

Qt ist ein plattformübergreifendes C++-Framework für die Entwicklung grafischer Benutzeroberflächen, das von Qt Company entwickelt wurde. In diesem Artikel erfahren Sie, wie Sie das bin-Verzeichnis von Qt zu Umgebungsvariablen hinzufügen, die ErweiteEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltg VSCode installieren und VS-Code für die Qt-Entwicklung verwenden Erstellen Sie das Projekt und führen Sie es aus.

Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt

【Empfohlenes Lernen: „Vscode-Tutorial“】

Die Qt Creator-Oberfläche ist nicht schön, aber VS Code ist schöner.

Da Qt5 das Erstellen mit CMake unterstützt und VS Code auch das CMake-Build-System unterstützen kann, ist dies durchaus möglich.

Testumgebung

  • Qt 5.15.0
  • CMake 3.17.5
  • Visual Studio 2019 16.7.5 (Desktop-Entwicklung mit C++)
  • Visual Studio Code. 1.49.3

Schritte

1. Fügen Sie das bin-Verzeichnis von Qt zur Umgebungsvariablen hinzu.

Angenommen, Qt ist in C:Qt installiert, fügen Sie dann C:Qt5.15.0msvc2019_64bin zur Umgebungsvariablen hinzu. C:Qt,那么将C:Qt5.15.0msvc2019_64bin添加到环境变量。

2. 安装VS Code扩展

在扩展商店搜索Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt,安装微软发行的C/C++扩展。

Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt

在扩展商店搜索Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt,安装前两个扩展,分别为CMake、CMake Tools。

Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt

3. 使用Qt Creator创建CMake项目

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

Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt

4. 在VS Code中打开项目

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

Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt

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

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

5. 构建并运行项目

F7进行构建:

Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt

Shift + F5运行:

Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt

7. 调试项目

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

Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt

一些小问题

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

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

Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt

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

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

Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt

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

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

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

最终的CMakeLists.txt

2. VS Code-ErweiteEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltg installieren

Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltSuchen Sie im ErweiteEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltgsspeicher nach Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt und installieren Sie die von Microsoft herausgegebene C/C++-ErweiteEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltg.

Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltSuchen Sie Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt in der ErweiteEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltg store , installieren Sie die ersten beiden ErweiteEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltgen, nämlich CMake und CMake Tools.

🎜Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt🎜🎜🎜3. Verwenden Sie Qt Creator zum Erstellen CMake-Projekt 🎜🎜🎜Verwenden Sie Qt Creator, um ein Testprojekt zu erstellen, wie im Bild gezeigt: 🎜🎜Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt🎜🎜🎜4. Öffnen Sie das Projekt in VS Code🎜🎜🎜Verwenden Sie VS Code, um das Verzeichnis zu öffnen, in dem sich die Datei CMakeLists.txt befindet, wie in gezeigt die Figur: 🎜🎜Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt🎜🎜Sie müssen a auswählen kit, Ich verwende das Toolkit von VS 2019, oder MinGW Weitere Informationen finden Sie in der offiziellen Dokumentation der CMake-ErweiteEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltg. 🎜🎜Fragen Sie, ob Intelligent Sense konfiguriert werden soll. Wählen Sie „Ja“. 🎜🎜🎜5. Erstellen Sie das Projekt und führen Sie es aus. 🎜🎜🎜Drücken Sie F7, um zu erstellen: 🎜🎜Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt🎜🎜Drücken Sie Umschalt + F5, um Folgendes auszuführen: 🎜🎜Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt🎜🎜🎜7. Debuggen Sie das Projekt 🎜🎜🎜Haltepunkte hinzufügen, drücken Sie Strg + F5 zum Debuggen: 🎜 🎜 Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt🎜🎜🎜Einige kleinere Probleme🎜🎜🎜🎜Nachher Beim Testen wurde festgestellt, dass das folgende Problem nicht auftritt, wenn Sie MinGW zum Erstellen verwenden. Wenn Sie jedoch Visual C++ zum Erstellen verwenden, tritt es nicht auf. 🎜🎜Nachdem alle oben genannten Schritte abgeschlossen sind, kann es codiert und normal ausgeführt werden, es gibt jedoch ein kleines Problem mit der intelligenten Erkennung, wie im Bild gezeigt: 🎜🎜Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt🎜🎜Der GEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltd dafür ist, dass die von Qt generierte UI-Datei nicht im Include-Verzeichnis enthalten ist von IntelliSense. 🎜🎜Nachdem ich die CMake-Dokumentation abgefragt habe, habe ich festgestellt, dass das Verzeichnis, in dem sich die UI-Datei befindet, zum Include-Verzeichnisattribut des Zielattributs hinzugefügt wird: 🎜🎜Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt🎜🎜Die tatsächliche Überprüfung ergab jedoch, dass dies nicht der Fall ist, sodass wir dieses Attribut noch manuell hinzufügen müssen. 🎜🎜Angenommen, das generierte Ziel ist Test, fügen Sie in der letzten Zeile der Datei CMakeLists.txt hinzu: 🎜
Eine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt_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")
🎜Der endgültige CMakeLists.txt Dateiinhalt Funktioniert ordnungsgemäß für: 🎜rrreee🎜 IntelliSense: 🎜🎜🎜🎜🎜 Weitere Programmierkenntnisse finden Sie unter: 🎜Erste Schritte mit der ProgrammieEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickeltg🎜! ! 🎜

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion darüber, wie man VSCode konfiguriert und Qt entwickelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen