Qt之cmake配置檔案

2021-10-08 14:25:44 字數 1854 閱讀 2984

**

最近工作中開始使用 cmake 來編譯 qt 工程,記錄一下某個模組需要新增依賴和鏈結庫的方法。大概有兩種,一種是使用qt5(命名空間)下的某個包來新增,另一種是macro(巨集) 的方式。下面是乙個官方生成的cmakelists.txt:

cmake_minimum_required

(version 3.5

)project

(tremble 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 for more information.

# they need to be set before the find_package(qt5 ...) call.

#if(android)

# set(android_package_source_dir "$/android")

# if (android_abi strequal "armeabi-v7a")

# set(android_extra_libs

# $

/path/to/libcrypto.so

# $

/path/to/libssl.so)

# endif()

#endif()

find_package

(qt5 components widgets required)

if(android)

add_library

(tremble shared

main.cpp

widget.cpp

widget.h

widget.ui

)else()

add_executable

(tremble

main.cpp

widget.cpp

widget.h

widget.ui

)endif()

target_link_libraries

(tremble private qt5::widgets)

如果我們要新增乙個qtcpsocket的標頭檔案,這時候就必須新增相應的包和鏈結庫,檢視幫助文件可知我們需要新增乙個network的模組,使用qmake就簡單的copy上去

完事,但使用cmake需要稍微改動一下的,如下:

即在幫助文件找到某個標頭檔案需要新增的某塊,將該單詞首字元大寫,如果有可能兩個單詞的組合詞,則需要相應首字元大寫,例如quickwidgets對應quickwidgets、新增鏈結庫qt5::quickwidgets,再進行新增就歐克。

Qt之ini配置檔案

ini檔案由節 鍵 值組成。直接上ini檔案分析 如下為某個ini檔案的內容 plc ip 127.0.0.1 port 502 port open 2222把中括號 包含的部分稱為節,所以 plc 為第乙個節 port 為第二個節 每個節由鍵和值組成 可以是多個 所以 ip 為 plc 的第乙個鍵...

QT 配置檔案操作

include qsettings setting config.ini qsettings iniformat 判斷是否存在配置檔案,不存在則新建config.ini 判斷是否存在這樣的鍵值對hostname,port,username,passwordif setting.contains ho...

qt 讀寫配置檔案 ini

ini 檔案是 initialization file 的縮寫,即初始化檔案。除了windows 現在很多其他作業系統下面的應用軟體也有.ini 檔案,用來配置應用軟體以實現不同使用者的要求。一般不用直接編輯這些 ini 檔案,應用程式的圖形介面即可操作以實現相同的功能。它可以用來存放軟體資訊,登錄...