使用Qt进行CMake:moc创建.cpp_parameters结束

时间:2016-11-22 13:33:04

标签: c++ qt cmake moc qtimer

我正在尝试将Qt集成到我的项目中,尤其是QTimer。

因此,我一直在尝试使用cmake:

生成moc文件
set(MOC_FILES
    ${CMAKE_CURRENT_SOURCE_DIR}/../headerfile.h
)
set(HEADER_FILES
    ...
    ${MOC_FILES}
)
...

ivw_qt_wrap_cpp(MOC_FILES ${MOC_FILES})

#--------------------------------------------------------------------
# Create module
ivw_create_module(${SOURCE_FILES} ${SHADER_FILES} ${MOC_FILES} ${HEADER_FILES})

因此,它会创建一个文件moc_headerfile.cpp_parameters,但该文件应为moc_volumeraycaster.cpp

文件的内容是:

-DINVIWO_ALL_DYN_LINK
-DGLM_SHARED_BUILD
-DWIN32
-o
C:/../moc_headerfile.cpp
C:/..headerfile.h

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您不应将同一变量用作qt_wrap_cpp的输入和输出。

你可以使用AUTOMOC

摆脱这种情况
set(SOURCE_FILES
    ...
    ${CMAKE_CURRENT_SOURCE_DIR}/../headerfile.h
)
...

set(CMAKE_AUTOMOC ON)

#--------------------------------------------------------------------
# Create module
ivw_create_module(${SOURCE_FILES} ${SHADER_FILES} ${HEADER_FILES})