我应该如何将Qt私有头文件添加到我的CMakeLists.txt中?
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Quick QuickPrivate REQUIRED) find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Quick QuickPrivate REQUIRED)
qvtsj1bj1#
如果你想使用“QTMOD”子模块的私有API,那么你必须使用变量只包含头:
Qt${QT_VERSION_MAJOR}QTMOD_INCLUDE_DIRS
在您的案例中:
include_directories(${Qt${QT_VERSION_MAJOR}Quick_PRIVATE_INCLUDE_DIRS})
**注:**不存在QuickPrivate
QuickPrivate
wko9yo5t2#
**之前接受的答案最近无效。**Qt6有一个特殊的CMake目标,用于开启私有头,你只需要链接到它,即WidgetsPrivate是Qt Widgets Module的私有头的目标名称:
WidgetsPrivate
Qt Widgets Module
target_link_libraries(untitled PRIVATE Qt${QT_VERSION_MAJOR}::WidgetsPrivate)
2条答案
按热度按时间qvtsj1bj1#
如果你想使用“QTMOD”子模块的私有API,那么你必须使用变量只包含头:
在您的案例中:
**注:**不存在
QuickPrivate
wko9yo5t2#
**之前接受的答案最近无效。**Qt6有一个特殊的CMake目标,用于开启私有头,你只需要链接到它,即
WidgetsPrivate
是Qt Widgets Module
的私有头的目标名称: