# cmake_minimum_required(VERSION <specify CMake version here>)
project(StudentManager)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_INCLUDE_CURRENT_DIR ON) # include build directory where the qt generated header exists
# 設定Qt5的cmake模塊所在目錄,如果不設定將使用系統提供的版本
# QT_DIR和QT_VERSION是指定了qt安裝目錄和版本的環境變數
# 如果你使用了系統的cmake,那么會優先使用系統提供模塊,因為cmake會優先搜索CMAKE_SYSTEM_PREFIX_PATH
# 如果你不想讓cmake優先搜索系統目錄(會導致編譯使用系統安裝的qt而不是我們配置的),需要提示find_package命令
set(CMAKE_PREFIX_PATH D:/Qt/Tools/mingw730_64)
# 找到對應的qt模塊,名字為qmake中QT += <name>中的name首字母大寫后加上Qt5前綴
# 例如core為QtCore,你也可以去${CMAKE_PREFIX_PATH}的目錄中找到正確的模塊名
# 如果不想使用系統qt,這樣寫(注意NO_DEFAULT_PATH引數,它會讓find_package跳過系統目錄的查找):
# tell cmake where your qt5 library lies
set(Qt5_DIR D:/Qt/5.14.2/mingw73_64/lib/cmake/Qt5)
find_package(Qt5 REQUIRED COMPONENTS Widgets Core Gui)
# 如果你想要使用系統自帶的qt,這樣寫:
# find_package(Qt5Widgets REQUIRED)
cmake_minimum_required(VERSION 3.16)
set(project_ui_files MainWindow.ui)
set(project_src_files Main.cpp MainWindow.cpp)
set(project_header_files MainWindow.h)
set(CMAKE_AUTOMOC ON)
SET(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
# ui files are converted to header files at build time like XML in WPF
qt5_wrap_ui(project_headers_wrapped ${project_ui_files})
# because header files are where Q_Object is defined
qt5_wrap_cpp(project_src_moc ${project_header_files})
add_executable(${PROJECT_NAME} # ui files are not necessary here
${project_src_files}
${project_header_files}
${project_headers_wrapped}
${project_src_moc}
)
target_link_libraries(${PROJECT_NAME} # PROJECT_NAME is case-sensitive
PUBLIC
Qt5::Widgets
Qt5::Core
Qt5::Gui
)
uj5u.com熱心網友回復:
網上的教程 照個搞了 好幾遍, 不知道問題出在哪里了, 貌似是 那個工具沒有沒知道, 導致 沒有完全使用正確的編譯方式, 導致知道不 QT 庫里面的 Win32 函式而且 我感覺解決了這個問題 應該還不會完
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/59060.html
標籤:工具平臺和程序庫
上一篇:下載的matlab影像分類程式,運行出錯,請大神指點
下一篇:Redis基礎與快取問題
