CMAKE:包含用 OBJECT 找不到的文件

CMAKE: Include files not found with OBJECT

我现在有一个使用 Qt5 include 的工作 CMake 项目。 项目的几个部分使用

编译

add_library(myLib STATIC ${lib_src})

我现在正在尝试使用 OBJECT,所以我改为

add_library(myLib OBJECT ${lib_src})

但是,在编译时,出现以下错误:

QObject, no such file or directory <- is not able to find qt includes

有人可以告诉我如何修复我的项目以使用 OBJECT 吗?

P.S。额外的细节: 该项目托管 here: 生成可执行文件的主要 CMake 在 app folder.

baloowrap 库链接到 digikamgui,然后 digikamgui 链接到 digikam 可执行文件和我要创建的 OBJECTutilities/baloo 中,其中包含以下内容:

set(baloowrap_SRCS baloowrap.cpp)
add_library(baloowrap STATIC ${baloowrap_SRCS})
target_link_libraries(baloowrap KF5::FileMetaData KF5::I18n)

在我的特殊情况下,包含目录是在我使用 target_link_libraries(Qt5::Core) 时由 CMake 自动生成的。

当您使用 OBJECT 时,您无法 link 任何东西,并且来源无法找到相关的包含...

http://doc.qt.io/qt-5/cmake-manual.html

你可以通过添加解决QObject问题:

include_directories(${Qt5Widgets_INCLUDE_DIRS})