doxgen生成chm文档和乱码解决方法

doxgen可用于通过 C/C++ 代码自动生成文档,并且可采用HTML Help WorkShop将生成的文档转换为chm格式
但是在使用其生成chm文档时总是会出现中文乱码解决方法如下:

  • Doxgen配置
    1. 选择Wizard ---> Html ----> prepare for compressed HTML  并钩选 With search function
    2. 选择Expert ---> Project ---> DOXYFILE_ENCODING,输入 UTF-8
    3. 选择Expert ---> Project ---> OUTPUT_LANGUAGE,选择 Chinese
    4. 选择Expert ---> Input ---> INPUT_ENCODING,输入 GBK
    5. 选择Expert ---> HTML ---> CHM_INDEX_ENCODING,输入 GBK (我使用doxgen版本为1.8.2,版本较低时该选项可能不支持)
  • 使用HTML Help Workshop生成chm文件
    1. 文件 ---> 打开 选择工作目录下的 hhp文件(通常情况下为 index.hhp并且位于doxgen设置的工作目录的html目录下)
    2. 选择文件 ---> 编译, 即可在同一工作目录下生成与hhp文件同名的 chm文件
  • Doxgen注释示例
    1. 文件注释
    2. /**
       * \file PQDataSyncInterface.h
       *
       * \brief 电能质量上位机用基于ActiveSync的数据同步接口
       *
       * \history 
       *       Date:  2012.10.12
       *       1. 定义Demo接口 V1.0.X.X
       *
       *       Date:  2012.10.16
       *       1. 确定接口 V2.0.X.X
       */
    3. 结构体、枚举和类注释
      /**
       * \brief 记录名最大长度
       */
    4. 结构体成员和枚举成员注释
      /**
       * \brief 数据同步模块错误码
       */
      typedef enum
      {
          PQDS_ERR_NONE = 0,             
          PQDS_ERR_DEVICE_NOTCONNECT,    /**< 设备未连接 */
          PQDS_ERR_NOEXIT_DEVICE_RECORD, /**< 设备上不存在指定记录 */
          PQDS_ERR_OPEN_DEVICE_RECORD,   /**< 打开设备记录出错 */
          PQDS_ERR_CREATE_PC_RECORD,     /**< 创建PC记录出错 */
          PQDS_ERR_COPY_RECORD_DATA,     /**< 拷贝记录数据出错 */
      
      }PQDS_ErrCode;
    5. 函数注释(如需文字在chm文件中换行显示,需在行尾添加<br>)
      /**
       * \brief 获取设备记录列表
       * \param[in] pRecordList  保存记录列表的缓存
       * \param[in] nMax         缓存可保存记录的最大数量
       * \return 成功 - 返回记录个数<br>
       *         失败 - 返回-1
       */
      PQDS_DLL_API int  PQDS_GetDeviceRecordList( PQDS_Record *pRecordList, const int nMax);
原文地址:https://www.cnblogs.com/shanwenbin/p/2727405.html