最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用VS Code進行Qt開發(fā)的實現(xiàn)

 更新時間:2020年10月20日 09:26:44   作者:海將河推走  
這篇文章主要介紹了使用VS Code進行Qt開發(fā)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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

因為Qt5支持使用CMake進行構建,而VS Code也可以支持CMake構建系統(tǒng),因此是完全可以的。

測試環(huán)境

  • Qt 5.15.0
  • CMake 3.17.5
  • Visual Studio 2019 16.7.5(使用C++的桌面開發(fā))
  • Visual Studio Code 1.49.3

步驟

1. 將Qt的bin目錄添加到環(huán)境變量

假設Qt安裝在C:\Qt,那么將C:\Qt\5.15.0\msvc2019_64\bin添加到環(huán)境變量。

2. 安裝VS Code擴展

在擴展商店搜索c++,安裝微軟發(fā)行的C/C++擴展。

c++

在擴展商店搜索cmake,安裝前兩個擴展,分別為CMake、CMake Tools。

cmake

3. 使用Qt Creator創(chuàng)建CMake項目

使用Qt Creator創(chuàng)建一個測試項目,如圖所示:

creator

4. 在VS Code中打開項目

用VS Code打開CMakeLists.txt文件所在目錄,如圖所示:

vscode

需要選擇一個kit,我是用的是VS 2019的工具包,也可以使用MinGW,具體請參考CMake擴展的官方文檔。

提示是否配置智能感知,選擇是。

5. 構建并運行項目

F7進行構建:

buildqt

Shift + F5運行:

run

7. 調(diào)試項目

添加斷點,按下Ctrl + F5進行調(diào)試:

debug

一些小問題

上述所有步驟完成后,已經(jīng)可以正常編碼和運行,但智能感知有一點問題,如圖:

problem

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

查詢了CMake文檔后發(fā)現(xiàn)ui文件所在目錄會被添加到目標屬性的include目錄屬性中:

check

但實際驗證發(fā)現(xiàn)并沒有,所以我們還需要手動添加這個屬性。

假設生成的目標為Test,在CMakeLists.txt文件的最后一行添加:

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

最終的CMakeLists.txt文件內(nèi)容為:

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

到此這篇關于使用VS Code進行Qt開發(fā)的實現(xiàn)的文章就介紹到這了,更多相關VSCode Qt開發(fā)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 解析VScode在Windows環(huán)境下c_cpp_properties.json文件配置問題(推薦)

    解析VScode在Windows環(huán)境下c_cpp_properties.json文件配置問題(推薦)

    這篇文章主要介紹了解析VScode在Windows環(huán)境下c_cpp_properties.json文件配置問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • 原碼, 反碼與補碼基礎知識詳細介紹

    原碼, 反碼與補碼基礎知識詳細介紹

    這篇文章講解了計算機的原碼, 反碼和補碼. 并且進行了深入探求了為何要使用反碼和補碼, 以及更進一步的論證了為何可以用反碼, 補碼的加法計算原碼的減法,需要的朋友可以參考下
    2016-12-12
  • 解析OpenSSL1.1.1?centos7安裝編譯aes的c++調(diào)用

    解析OpenSSL1.1.1?centos7安裝編譯aes的c++調(diào)用

    這篇文章主要介紹了OpenSSL1.1.1?centos7安裝編譯aes的c++調(diào)用,實現(xiàn)方法也很簡單,主要是在該文檔內(nèi)加入openssl的lib路徑,感興趣的朋友跟隨小編一起看看吧
    2022-03-03
  • C++?OpenCV實現(xiàn)二維碼檢測功能

    C++?OpenCV實現(xiàn)二維碼檢測功能

    這篇文章主要介紹了如何利用C++?OpenCV實現(xiàn)二維碼檢測功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-01-01
  • C語言字符串常用處理函數(shù)小結

    C語言字符串常用處理函數(shù)小結

    C語言中有很多內(nèi)置的字符串處理函數(shù),這些函數(shù)都在<string.h>頭文件中聲明,本文給大家介紹C語言字符串常用處理函數(shù)小結,感興趣的朋友一起看看吧
    2023-11-11
  • Qt圖形圖像開發(fā)曲線圖表模塊QChart庫縮放/平移詳細方法與實例

    Qt圖形圖像開發(fā)曲線圖表模塊QChart庫縮放/平移詳細方法與實例

    這篇文章主要介紹了Qt圖形圖像開發(fā)曲線圖表模塊QChart庫縮放/平移詳細方法與實例,需要的朋友可以參考下
    2020-03-03
  • C++之Qt5雙緩沖機制案例教程

    C++之Qt5雙緩沖機制案例教程

    這篇文章主要介紹了C++之Qt5雙緩沖機制案例教程,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++強制類型轉換的四種方式

    C++強制類型轉換的四種方式

    本文主要介紹了C++強制類型轉換的四種方式,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 用c語言編寫一個通訊錄代碼詳解

    用c語言編寫一個通訊錄代碼詳解

    大家好,本篇文章主要講的是用c語言實現(xiàn)一個通訊錄代碼詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • C++函數(shù)模板的使用詳解

    C++函數(shù)模板的使用詳解

    大家好,本篇文章主要講的是C++函數(shù)模板的使用詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01

最新評論

嘉祥县| 汪清县| 焦作市| 林州市| 怀柔区| 襄汾县| 五家渠市| 丹巴县| 西和县| 乐山市| 万源市| 孝感市| 大理市| 桑植县| 勃利县| 墨江| 柏乡县| 山丹县| 永春县| 南安市| 嘉荫县| 成安县| 陆河县| 崇仁县| 中西区| 余庆县| 临汾市| 龙海市| 古蔺县| 山丹县| 平陆县| 于都县| 潼南县| 芦溪县| 遵义县| 镇江市| 青岛市| 彭山县| 香格里拉县| 云南省| 安西县|