Qt5和CMake:为AUTOMOC添加标头

时间:2016-10-06 11:08:55

标签: qt cmake automocking

Qt与CMake经常在链接过程中遇到麻烦。

在阅读了几篇帖子并尝试后,我发现AUTOMOC获取了add_executable给出的源文件,但忽略了include_directories( inc )给出的include文件夹中的头文件。将标头文件添加到add_executable后,构建成功。

但是告诉AUTOMOC头文件的正确方法是什么?

在我的CMake CMakeLists.txt 中,我使用

set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
include_directories( inc )

set(QT5_MODULES Widgets)
find_package(Qt5 REQUIRED COMPONENTS ${QT5_MODULES})

add_definitions( -DQT_NO_KEYWORDS
                 -DQT_CORE_LIB 
                 -DQT_GUI_LIB 
                 -DQT_WIDGETS_LIB
                 -DQT_NO_DEBUG 
                 -DROSCONSOLE_BACKEND_LOG4CXX
                 -fPIC)

add_executable( MyGui
                src/main.cpp 
                inc/gui.h src/gui.cpp )

ament_target_dependencies( MyGui )
qt5_use_modules(MyGui ${QT5_MODULES})

0 个答案:

没有答案