带 Qt 的 CMake:moc 创建 .cpp_parameters 结尾

CMake with Qt: moc creates .cpp_parameters ending

我正在尝试将 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

有什么想法吗?

您不应该使用相同的变量作为 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})