亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

因?yàn)镼t5支持使用CMake進(jìn)行構(gòu)建,而VS Code也可以支持CMake構(gòu)建系統(tǒng),因此是完全可以的。

測(cè)試環(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)境變量

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

2. 安裝VS Code擴(kuò)展

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

c++

在擴(kuò)展商店搜索cmake,安裝前兩個(gè)擴(kuò)展,分別為CMake、CMake Tools。

cmake

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

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

creator

4. 在VS Code中打開項(xiàng)目

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

vscode

需要選擇一個(gè)kit,我是用的是VS 2019的工具包,也可以使用MinGW,具體請(qǐng)參考CMake擴(kuò)展的官方文檔。

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

5. 構(gòu)建并運(yùn)行項(xiàng)目

F7進(jìn)行構(gòu)建:

buildqt

Shift + F5運(yùn)行:

run

7. 調(diào)試項(xiàng)目

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

debug

一些小問題

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

problem

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

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

check

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

假設(shè)生成的目標(biāo)為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

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

相關(guān)文章

  • C++接口文件小技巧之PIMPL詳解

    C++接口文件小技巧之PIMPL詳解

    C++ 里面有一些慣用法(idioms),如 RAII,PIMPL,copy-swap、CRTP、SFINAE 等,今天要說的是 PIMPL,即 Pointer To Implementation,指向?qū)崿F(xiàn)的指針,感興趣的可以了解一下
    2023-06-06
  • 哈希表實(shí)驗(yàn)C語言版實(shí)現(xiàn)

    哈希表實(shí)驗(yàn)C語言版實(shí)現(xiàn)

    以下是對(duì)哈希表實(shí)驗(yàn)用C語言實(shí)現(xiàn)的代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下
    2013-07-07
  • C++中new和delete的介紹

    C++中new和delete的介紹

    今天小編就為大家分享一篇關(guān)于C++中new和delete的介紹,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • C++四種case的詳細(xì)介紹小結(jié)

    C++四種case的詳細(xì)介紹小結(jié)

    本文主要介紹了C++四種case的詳細(xì)介紹小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • C語言面試C++字符串替換空格示例

    C語言面試C++字符串替換空格示例

    這篇文章主要介紹了C語言面試中C++字符串替換空格示例,文中給出了基本上可以拿下offer的代碼,有需要的朋友可以借鑒參考下,希望大家都能早日拿到心儀的offer
    2021-09-09
  • C/C++實(shí)現(xiàn)獲取硬盤序列號(hào)的示例代碼

    C/C++實(shí)現(xiàn)獲取硬盤序列號(hào)的示例代碼

    獲取硬盤的序列號(hào)、型號(hào)和固件版本號(hào),此類功能通常用于做硬盤綁定或硬件驗(yàn)證操作,下面我們就來學(xué)習(xí)一下如何使用C/C++實(shí)現(xiàn)獲取硬盤序列號(hào)吧
    2023-11-11
  • 利用Matlab實(shí)現(xiàn)迭代適應(yīng)點(diǎn)算法

    利用Matlab實(shí)現(xiàn)迭代適應(yīng)點(diǎn)算法

    道格拉斯-普克算法(Douglas–Peucker?algorithm,亦稱為拉默-道格拉斯-普克算法、迭代適應(yīng)點(diǎn)算法、分裂與合并算法)是將曲線近似表示為一系列點(diǎn),并減少點(diǎn)的數(shù)量的一種算法。本文將利用Matlab實(shí)現(xiàn)這一算法,需要的可以參考一下
    2022-04-04
  • C語言 bind()函數(shù)案例詳解

    C語言 bind()函數(shù)案例詳解

    這篇文章主要介紹了C語言 bind()函數(shù)案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • c語言多線程編程使用示例

    c語言多線程編程使用示例

    這篇文章主要介紹了c語言多線程編程使用示例,需要的朋友可以參考下
    2014-04-04
  • C++靜態(tài)持續(xù)變量介紹

    C++靜態(tài)持續(xù)變量介紹

    這篇文章主要介紹了 C++靜態(tài)持續(xù)變量,靜態(tài)持續(xù)變量的定義C++和C語言是一樣的,它擁有三種鏈接性,即外部鏈接性、內(nèi)部連接性和無鏈接性。其中外部鏈接性指的是可以在其他文件中訪問,內(nèi)部鏈接性指的是只能在當(dāng)前文件訪問,需要的朋友可以參考一下
    2021-11-11

最新評(píng)論