CMake依赖
使用CMake构建Qt程序的时候,可以使用命令find_package来定位Qt的头文件路径、库文件路径以及库文件。
如:
FIND_PACKAGE (Qt6 NAMES Qt6 COMPONENTS Core Gui Widgets REQUIRED)
*** 注意:执行成功以后,将会按照COMPONENTS列表中的项目,生成一组变量。
如头文件路径为:
CMAKE_INCLUDE_DIR(${Qt6Core_INCLUDE_DIRS}
${Qt6Gui_INCLUDE_DIRS}
${Qt6Widgets_INCLUDE_DIRS})
将要连接的路径为:
ADD_EXECUTE(helloworld helloworld.cc)
TARGET_LINK_LIBRARIES(helloworld Qt6::Core Qt6::Gui Qt6::Widgets)
另外,Qt的一些宏依赖编译开始前的moc机制,比如需要支持信号(SIGNAL)与槽(SLOT)的类,如果不进行moc,将会无法连接。
在CMake配置文件CMakeLists.txt中,可以使用AUTOMOC来自动moc。
如果要在编译时对目标helloworld的源文件自动moc,可以如下指定:
ADD_EXECUTE(helloworld helloworld.cc)
SET_PROPERTY(TARGET helloword PROPERTY AUTOMOC ON)
信号的声明
一