文章目录
CMake+Visiual Studio+QT5创建QT5GUI界面
所需工具
- qt Creator
- CMake 3.25.1
- VIsiual Studio
新建QT5项目文件夹,包含以下内容
新建QT5文件
- 使用qt Creator 新建一个空项目
- 新建Qt 应用
- 保存后打开保存文件夹,以下四个文件是我们所需要的
- 将上述4个文件放入之前的src文件夹中
编写CMakeLists
- 注意set(Qt5_DIR “D:/Qt/Qt5.12.3/5.12.3/msvc2017_64/lib/cmake/Qt5”)这一句中的“”内的路径改为你自己安装的文件夹所在的文件的路径
cmake_minimum_required(VERSION 3.5.1)
project(qui)
set(Qt5_DIR "D:/Qt/Qt5.12.3/5.12.3/msvc2017_64/lib/cmake/Qt5")
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)
#FIND_PACKAGE(Qt5 COMPONENTS Core Gui Qml Quick Widgets REQUIRED)
FIND_PACKAGE(Qt5 COMPONENTS Widgets REQUIRED)
SET(qui_SOURCES
src/main.cpp
src/mainwindow.cpp
)
SET(qui_HEADERS
src/mainwindow.h
)
SET(qui_FORMS
src/mainwindow.ui
)
#SET(qui_RESOURCES
# img.qrc
#)
#调用预编译器moc,需要使用 QT5_WRAP_CPP宏
QT5_WRAP_CPP(qui_HEADERS_MOC ${qui_HEADERS})
#使用uic处理.ui文件
QT5_WRAP_UI(qui_FORMS_HEADERS ${qui_FORMS})
#使用rcc处理.qrc文件
#QT5_ADD_RESOURCES(qui_RESOURCES_RCC ${qui_RESOURCES})
#这些生成的中间文件都会在build目录下,这样的话,编译器则不能定位由uic程序产生的诸如_ui_mainwindow.h等文件。所以,我们需要把build目录添加到包含目录中
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
#生成可执行文件
ADD_EXECUTABLE(qui
${qui_SOURCES}
${qui_HEADERS_MOC}
${qui_FORMS_HEADERS}
#${qui_RESOURCES_RCC}
)
#为target添加需要链接的共享库
#TARGET_LINK_LIBRARIES(qui Qt5::Core Qt5::Gui Qt5::Qml Qt5::Quick ${Qt5Widgets_LIBRARIES})
TARGET_LINK_LIBRARIES(qui ${Qt5Widgets_LIBRARIES})
INSTALL(TARGETS qui
RUNTIME DESTINATION lib
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
DLL准备
链接:https://pan.baidu.com/s/1Xr2wP0g1UV_L6xpP9cJkxA?pwd=pqhb
提取码:pqhb
编译项目
打开项目
此时会多出来一个build文件夹
进入build文件夹,打开vs项目
- 将qui设置为启动项目
- 重新生成项目
此时还无法直接运行,不然会报错因为找不到qt5相关的dll
- 将DLL文件夹中的所有dll复制到build/Debug文件夹中
- 此时便可以运行项目了,会得到一个空的GUI
缺点
修改代码时在左边的项目看找不到cpp和h文件,要去src文件夹中打开。