CMake教程之构建Qt平台
生活随笔
收集整理的這篇文章主要介紹了
CMake教程之构建Qt平台
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 一:構建環境
- 二:目錄結構
- 三:CMakeLists文件說明
- 四:測試
一:構建環境
??關于Qt環境下的項目,這里也使用了cmake進行構建,這樣可以減少對工程文件的依賴,同時可以做到跨平臺的使用。
??目前使用的平臺是:CMake3.16.4 + VS2015。
二:目錄結構
??國際慣例,直接上工程目錄結構:
??根目錄:
??source目錄:、
三:CMakeLists文件說明
??同樣的我們看一下根目錄的寫法:
cmake_minimum_required(VERSION 3.5.1)project("EQt") message(STATUS "${CMAKE_CURRENT_SOURCE_DIR}")#設置對c++11的支持 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")# 設置第三方頭文件 set(include_third ${CMAKE_CURRENT_SOURCE_DIR}/source/thirdlibs/include/) include_directories(SYSTEM ${include_third})# 設置第三方庫路徑 set(lib_boost ${CMAKE_CURRENT_SOURCE_DIR}/source/thirdlibs/libs/widows/boost) set(lib_opencv ${CMAKE_CURRENT_SOURCE_DIR}/source/thirdlibs/libs/widows/opencv) set(lib_tbb ${CMAKE_CURRENT_SOURCE_DIR}/source/thirdlibs/libs/widows/tbb) link_directories(${lib_boost} ${lib_opencv} ${lib_tbb})# 配置Qt set(CMAKE_INCLUDE_CURRENT_DIR ON) # 打開全局moc,目標關聯的.h,.cpp set(CMAKE_AUTOMOC ON) # 打開全局uic,目標關聯的.ui set(CMAKE_AUTOUIC ON) # 打開全局rcc,用于編譯資源文件 set(CMAKE_AUTORCC ON) # 查找Qt庫文件 find_package( Qt5 REQUIRED COMPONENTS Widgets Core Gui Qml ) include_directories(${Qt5Widgets_INCLUDE_DIRS}${CMAKE_CURRENT_BINARY_DIR}${QT_USE_FILE}Qt5::Qml ) add_definitions(${QT_DEFINITIONS})add_subdirectory("source")??目前沒有做平臺化區分,當前的CMakeLists.txt中未對linux平臺進行配置。后續在平臺移植下會進行補充和修改。
??source下的僅僅是對當前目錄文件的包含,所以不做過多說明。目前widget中是對qt項目的運用,所以直接看widget下的CMakeLists.txt:
四:測試
??根據上一篇的配置,進行vs工程的配置和構建,最后生成vs工程項目目錄如下:
??對widget項目進行編譯即可,因為widget是靜態庫項目,所以可以看到生成的widget.lib庫即可。
總結
以上是生活随笔為你收集整理的CMake教程之构建Qt平台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 虚拟机速度慢,[译]PHP虚拟机
- 下一篇: 打印10以内的加减法