cmakelist中使用Qt的界面需要添加的各个语句及其含义:
为自动生成moc文件需要添加如下
set(CMAKE_AUTOMOC ON)
寻找Qt的包
find_package(Qt5Widgets REQUIRED QUIET)
为界面增加多个 ui以及src文件
QT5_WRAP_UI (project_FORMS_HEADERS **.ui)
QT5_ADD_RESOURCES (project_RESOURCE_CPPS **.qrc)
ui文件生成的头文件(类似于ui_mainwindow.h) 自动生成在可执行程序的目录中,因此需要引用可执行程序的目录
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
可执行程序链接
add_executable (${PROJECT_NAME} main.cc ${project_FORMS_HEADERS} ${project_RESOURCE_CPPS})
引用的对应的QT库
qt5_use_modules(${PROJECT_NAME} Widgets Core Gui Network PrintSupport)
不链接到响应的库函数时会出现找不到文件的问题:
fatal error: QApplication: No such file or directory compilation terminated.
- 除了以上的这种方式以外,还可以使用如下方式对相应的库进行链接,如链接network
find_package(Qt5 COMPONENTS Network REQUIRED)
target_link_libraries(${PROJECT_NAME} Qt5::Network)