Qt는 Qt Company에서 개발한 크로스 플랫폼 C++ 그래픽 사용자 인터페이스 애플리케이션 개발 프레임워크입니다. 이 기사에서는 Qt의 bin 디렉터리를 환경 변수에 추가하고, VSCode 확장 프로그램을 설치하고, Qt 개발을 위해 VS Code를 사용하는 방법을 소개합니다. 프로젝트를 빌드하고 실행합니다.
【추천 학습: "VSCode를 구성하고 Qt를 개발하는 방법에 대한 간략한 설명 tutorial"】
Qt Creator 인터페이스는 아름답지 않지만 VS Code는 더 아름답습니다.
Qt5는 CMake를 사용한 빌드를 지원하고 VS Code도 CMake 빌드 시스템을 지원할 수 있으므로 완전히 가능합니다.
에 Qt의 bin 디렉터리를 추가합니다. Qt가 C:Qt
에 설치되어 있다고 가정하고 환경 변수에 C:Qt5.15.0msvc2019_64bin
을 추가합니다. C:Qt
,那么将C:Qt5.15.0msvc2019_64bin
添加到环境变量。
在扩展商店搜索VSCode를 구성하고 Qt를 개발하는 방법에 대한 간략한 설명
,安装微软发行的C/C++扩展。
在扩展商店搜索VSCode를 구성하고 Qt를 개발하는 방법에 대한 간략한 설명
,安装前两个扩展,分别为CMake、CMake Tools。
使用Qt Creator创建一个测试项目,如图所示:
用VS Code打开CMakeLists.txt
文件所在目录,如图所示:
需要选择一个kit
,我是用的是VS 2019的工具包,也可以使用MinGW
,具体请参考CMake扩展的官方文档。
提示是否配置智能感知
,选择是。
按F7
进行构建:
按Shift + F5
运行:
添加断点,按下Ctrl + F5
进行调试:
测试后发现如果使用MinGW构建则不会出现下面的问题,而使用Visual C++构建则会出现。
上述所有步骤完成后,已经可以正常编码和运行,但智能感知有一点问题
,如图:
原因在于Qt生成的ui文件没有被包含到智能感知的include目录中。
查询了CMake文档后发现ui文件所在目录会被添加到目标属性的include目录属性中:
但实际验证发现并没有,所以我们还需要手动添加这个属性。
假设生成的目标为Test
,在CMakeLists.txt
文件的最后一行添加:
target_include_directories(Test PRIVATE "${CMAKE_BINARY_DIR}/Test_autogen/include_Debug")
最终的CMakeLists.txt
2. VS Code 확장 설치
확장 스토어에서 VSCode를 구성하고 Qt를 개발하는 방법에 대한 간략한 설명
를 검색하여 Microsoft에서 제공하는 C/C++ 확장을 설치합니다.
확장 프로그램에서 VSCode를 구성하고 Qt를 개발하는 방법에 대한 간략한 설명 검색 store
, 처음 두 개의 확장 프로그램, 즉 CMake 및 CMake 도구를 설치합니다.
CMakeLists.txt
파일이 있는 디렉터리를 엽니다. 그림: 🎜🎜🎜🎜다음을 선택해야 합니다. kit
, 저는 VS 2019의 툴킷을 사용합니다. MinGW
도 사용할 수 있습니다. 자세한 내용은 CMake 확장의 공식 문서를 참조하세요. 🎜🎜Intelligent Sense
를 구성할지 묻는 메시지가 나타나면 예를 선택하세요. 🎜🎜🎜5. 프로젝트 빌드 및 실행 🎜🎜🎜 F7
을 눌러 빌드하세요. 🎜🎜🎜🎜 Shift + F5
를 눌러 다음을 실행하세요. 🎜🎜🎜🎜🎜7. 프로젝트 디버깅 🎜🎜🎜중단점 추가, Ctrl + F5
를 눌러 디버깅: 🎜 🎜 🎜🎜🎜몇 가지 사소한 문제🎜🎜🎜🎜이후 테스트 MinGW를 사용하여 빌드하면 아래와 같은 문제가 발생하지 않지만, Visual C++를 사용하여 빌드하면 발생하는 것으로 나타났습니다. 🎜🎜위의 모든 단계가 완료되면 인코딩하여 정상적으로 실행할 수 있지만, 그림과 같이 지능 센싱
에 약간의 문제가 있습니다. 🎜🎜🎜🎜이유는 Qt에서 생성한 ui 파일이 include 디렉터리에 포함되어 있지 않기 때문입니다. IntelliSense의 🎜🎜CMake 문서를 쿼리한 후 ui 파일이 있는 디렉토리가 대상 속성의 포함 디렉토리 속성에 추가된다는 것을 발견했습니다: 🎜🎜🎜🎜하지만 실제 검증에서는 그렇지 않은 것으로 확인되었으므로 이 속성을 수동으로 추가해야 합니다. 🎜🎜생성된 대상이 Test
라고 가정하고 CMakeLists.txt
파일의 마지막 줄에 다음을 추가합니다. 🎜VSCode를 구성하고 Qt를 개발하는 방법에 대한 간략한 설명_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")
CMakeLists.txt
파일 콘텐츠 제대로 작동: 🎜rrreee🎜 IntelliSense: 🎜🎜🎜🎜🎜 더 많은 프로그래밍 관련 지식을 보려면 다음을 방문하세요: 🎜프로그래밍 시작하기🎜! ! 🎜위 내용은 VSCode를 구성하고 Qt를 개발하는 방법에 대한 간략한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!