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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值