doxygen问题集锦

使用doxygen排版数学公式出错的解决方法

参考:http://blog.csdn.net/huangbo10/article/details/46801949

问题

今天玩了一下doxygen,碰到一个问题

! Undefined control sequence.
l.77 $ y_{\mbox{test}} = \mathbb{E}[y_{\mbox{train}}] = x $
? 
! Emergency stop.

这时候打开生成的网页,所有应该是公式(图片)的地方都只有LATEX代码。

分析

doxygen对代码注释中LATEX公式的处理方法是:

把公式都提取出来写到一个_formulas.tex文件里
这个文件先用LATEX编译成DVI格式
再由dvips转成PostScript格式
最后由gs(GhostScript)转成图片显示在网页里
上面的错误信息意思是在第2步遇到了问题。

解决

我把上面的公式拎出来用自己的模板编译了一下发现没什么问题,说明LATEX工作是正常的。Google+查阅日志之后发现doxygen调用LATEX的时候默认仅调用了epsfig、graphicx、keyval、graphics、dvips等几个基本的包,其他如amsmath这种常用的包都没有调用。所以如果要排版数学公式的话需要手动把需要的包加进来。

在Linux环境下直接修改doxygen的配置文件即可,在windows下需要通过图形界面,在Expert->LaTeX->EXTRA_PACKAGES填入amsmath、xr、amsfonts三个包即可。

另一种方法就是也可以尝试使用mathjax,见:《 DOxygen for C++使用说明——添加数学公式》

使用doxygen生成的帮助文档,中文出现乱码的问题

参考:http://blog.csdn.net/hujian2008/article/details/16343489
今天使用doxygen工具生成帮助文档发现中文注释都是乱码。
然后根据网上的要求把
Exper>>Input>>INPUT_ENCODING:(输入文件的编码) UTF-8 改成 GBK 或者 GB2312
Exper>>HTML>>CHM_INDEX_ENCODING:(输出文件的编码) UTF-8 改成 GBK 或者 GB2312

但是改了之后发现连chm文件都没有生成。查看doxygen的输出窗口,发现这样一条报错:
E:/VCProject/LCD_Development_Kit_2008/LCD_Development_Kit/cHtmlEditor.cpp: failed to translate characters from GBK to UTF-8: check

INPUT_ENCODING

经过检查,这个文件是直接导入的开源类。原来VC2005会根据文件本身的编码方式来打开文件,也就是说,虽然VC的默认设置中新建一个文件是GB2312,但是如

果这个时候引入一个UTF-8的文件,VC也能识别出来而不会去改变它,除非是VC无法识别的文件编码格式。
在Tools>>Options>>Environment>>Documents 就有一个”Save documents as…”选项….好了,弄明白原因就好办了,言归正传。

解决办法:

修改对应文件编码。
1. 用vc打开报错的文件
2. File>>Advanced Save Options
将GB2312 936 改成 GB2312-80 20936 OK
然后保存文件就可以了,这个时候如果有无法转换的字符就会出现以下提示,

选择No就可以了。
3. 再次执行doxygen run 编译成功。
也可参考:http://blog.csdn.net/zhuangshn/article/details/5518672

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258825.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu中make头文件找不到_和平精英:游戏中找不到人怎么办?这些技巧帮你练出“火眼金睛”...

大家好,欢迎来到《刺激实战教室》,我是你们的老朋友刺激哥。俗话说,电子竞技不需要视力,而这句话也是《和平精英》的一个“痛点”。在《和平精英》这款游戏中,更是如此。在很多时候,敌人就藏在我们的附近&a…

eureka配置_F版本SpringCloud 5—Eureka集群和自我保护机制

源码地址:https://gitee.com/bingqilinpeishenme/Java-Tutorials前言上篇文章中,通过代码搭建了Eureka注册中心和客户端,是Eureka的简单应用,在本文中将会讲解更多关于Eureka服务端的应用以及原理。Eureka 自我保护机制进入自我保…

windows共享内存

在windows编程中避免不了使用共享内存,因为他是进程间通信、文件读取最简单的方式,有书上还说其他进程间通讯机制如管、油槽、WM_COPYDATA底层也是用的共享内存机制。关于使用方法还是请参考MSDN。 最近听说使用共享内存不安全,可能会被其他进…

Chrome指令/追踪Http请求相关

2019独角兽企业重金招聘Python工程师标准>>> Chrome HTTP抓包,在地址栏输入 chrome://net-internals/#requests转载于:https://my.oschina.net/u/2292141/blog/895603

离散卷积与自相关

本文章转载自:http://www.cnblogs.com/einyboy/archive/2012/12/30/2839633.html 一、 定义 离散信号f(n),g(n)的定义如下: N-----为信号f(n)的长度 s(n)----为卷积结果序列,长度为len(f(n))len(g(n))-1 例: f(n) [1 2 3]; g(n) [2 3 1]; …

excel打开后灰色不显示内容_Excel二维表转换,一分钟就够

点击蓝字关注我们44个Excel 使用技巧基本方法作为职场人,加班累如狗。如何更轻松的工作并获得喜人的报酬便是咱们职场人一直追求的“生活哲理”,说到Excel,对于办公室群体而言实在是太常见不过了,不管做什么,咱们都会跟它打交道&a…

卷积的循环矩阵求解方法

通常我们求解一维卷积或者二维卷积都是采用模板平移的方法,今天我们介绍一种新的求解方法,可以一次性求出所有的结果。 一维卷积 卷积定义 对于两个长度分别为m和n的序列x(i)和g(i)有, h(i)x(i)∗g(i)∑jx(j)g(i−j)h(i)=x(i)*g(i)=\sum_…

static_cast, dynamic_cast, const_cast探讨【转】

首先回顾一下C类型转换: C类型转换分为:隐式类型转换和显式类型转换 第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类…

RANSAC算法注记

今天学习了一下RANSAC随机样本一致性算法,其在图像融合、特征点匹配方面有很强大的应用。网上已经有很多人写了关于这方面的文档,就不再造轮子了。特此罗列出来,以供后续参考。 我的数学之美(一)——RANSAC算法详解 …

PMP 第七章 项目成本管理

估算成本 制定预算 控制成本 1.成本管理计划的内容和目的是什么? 包括对成本进行估算 预算和控制的各过程,从而确保项目在批准的预算内完工。 2.直接成本、间接成本、可变成本、固定成本、质量成本的内容分别是什么?成本估算的工具有哪些? 成本估算工具 1…

您的请求参数与订单信息不一致_[淘客订单检测]淘宝客订单检测接口,淘客订单查询API...

功能1.输入交易的订单编号,即可查询该订单是否为淘宝客订单。有意向请联系卫星weixiaot168。2.查询结果 0:不是淘宝客订单;1:是。3.根据淘宝官方的后台数据,进行检测,数据真实且有效。4.有效防止佣金损失,降低商家补单…

DebugView输出调试信息

在写windows程序时,需要输出一些调试信息,这里介绍一种极其方便的方法。即使用OutputDebugString 在Debug模式下输出调试信息,在Release模式下不输出。 我们可以在VS的集成平台上输出调试信息,也可以使用DebugView来查看调试信息…

【强连通分量+概率】Bzoj2438 杀人游戏

Description 一位冷血的杀手潜入 Na-wiat,并假装成平民。警察希望能在 N 个人里面,查出谁是杀手。 警察能够对每一个人进行查证,假如查证的对象是平民,他会告诉警察,他认识的人, 谁是杀手, 谁是…

serialversionuid的作用_为什么阿里Java规约要求谨慎修改serialVersionUID字段

serialVersionUID简要介绍serialVersionUID是在Java序列化、反序列化对象时起作用的一个字段。Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进…

常用工具说明--搭建基于rietveld的CodeReview平台(未测试)

为什么要codereview . 整个团队的编码风格是统一的。 . 有高手能对自己的代码指点一二,从而提高编码水平。 . 减少低级错误的出现 . 约束自己写高质量的代码,因为是要给人看的。 我们对codereview的需求 . 很轻松可以发布自己写的代码。 . 很轻松的可以与…

postman调用webservice接口_接口对前后端和测试的意义

1.什么是接口?接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。2.接口都有哪些类型?接口…

基于代数距离的椭圆拟合

问题 给定离散点集Xi(xi,yi),i1,2,...NX_i(x_i,y_i) ,i1,2,...NXi​(xi​,yi​),i1,2,...N,我们希望找到误差最小的椭圆去拟合这些离散点。 方法 由于椭圆的形式可以给定, 自然我们将使用最小二乘法来求解椭圆。主要依据论文《Direct least squares f…

Android调试技巧之Eclipse行号和Logcat

很多初入Android的开发者可能会发现经常遇到Force Close或ANR这样的问题,一般我们通过Android系统的错误日志打印工具Logcat可以看到出错的内容,今天一起来说下如何通过 Eclipse行号和Logcat捕捉出错点,我们遇到错误可以首先在Eclipse的DDMS中…

js打开本地文件夹_vue + ArcGIS 地图应用系列一:arcgis api本地部署(开发环境)

1. 下载 ArcGIS API for JavaScript 官网地址: https://developers.arcgis.com/javascript/3/ 下载地址:http://links.esri.com/javascript-api/latest-download需要稳定的网络环境注册账号后才可以下载下载完成后解压文件,文件比较大可能需要…

基于几何距离的椭圆拟合

问题 给定离散点集Xi(xi,yi)X_i(x_i,y_i)Xi​(xi​,yi​),我们希望找到最好的椭圆去拟合这些离散点。 方法 通常我们使用最小二乘法求解如下的最优化问题: Min∑i1Nf(xi,E)2Min \sum_{i1}^N f(x_i,E)^2 Mini1∑N​f(xi​,E)2 这里f(xi,E)f(x_i,E)f(xi…