You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CMake中获取qhelpgenerator路径生成Qt Help格式文档?

解决方案

你可以通过CMake的Qt导入目标直接提取Qt5::qhelpgenerator(Qt5)或Qt6::qhelpgenerator(Qt6)获取qhelpgenerator的绝对路径,具体操作步骤如下:

步骤1:修改CMakeLists.txt

在原有CMake配置中补充Qt查找逻辑,确保查找Qt的Help组件,再提取qhelpgenerator的路径:

cmake_minimum_required (VERSION 3.21.0)

find_package(Doxygen REQUIRED dot)
# 按需替换为你使用的Qt版本,必须引入Help组件
# Qt5写法:
find_package(Qt5 COMPONENTS Help REQUIRED)
# Qt6写法:
# find_package(Qt6 COMPONENTS Help REQUIRED)

# 提取qhelpgenerator可执行文件的绝对路径
if(QT_VERSION_MAJOR EQUAL 5)
    get_target_property(QHG_EXECUTABLE_PATH Qt5::qhelpgenerator IMPORTED_LOCATION)
elseif(QT_VERSION_MAJOR EQUAL 6)
    get_target_property(QHG_EXECUTABLE_PATH Qt6::qhelpgenerator IMPORTED_LOCATION)
endif()

set (DOXYGEN_HIDDEN_SYMBOLS "")

if (DOXYGEN_FOUND)
  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
  doxygen_add_docs(
    myprograme-manual
    ${CMAKE_CURRENT_SOURCE_DIR}/en
  )
endif(DOXYGEN_FOUND)

注意:若CMake配置时提示找不到Qt Help组件,说明当前设备的Qt安装未包含帮助工具,重新安装Qt时勾选Help相关组件即可。

步骤2:修改Doxyfile配置

将Doxyfile中QHG_LOCATION的配置行替换为以下内容,CMake执行configure_file时会自动填充路径:

QHG_LOCATION           = @QHG_EXECUTABLE_PATH@

配置完成后重新执行CMake配置,生成的build目录下的Doxyfile中QHG_LOCATION会被替换为当前设备qhelpgenerator的真实路径,编译文档目标即可正常生成.qch帮助文件。

内容的提问来源于stack exchange,提问作者Jepessen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 14:39:02