doxygen使用心得
来源:互联网 发布:c语言解惑pdf百度网盘 编辑:程序博客网 时间:2024/06/06 04:59
其它的内置功能,需要详细看选项啦
生成中文的问题,注意两点:
1 修改
Expert -> Input 选项卡中的 INPUT_ENCODING 为 GB2312 (或者GBK)
修改为 UTF-8 时, 所有的中文注释都会是乱码
2 修改
Expert -> Project 选项卡中的 OUTPUT_LANGUAGE 为 Chinese,会导致chm左边栏为乱码字符,右边栏中的固定标题是中文
修改为 English,则是正常的英文标题。
----------------------------------------------------------------------
3 全默认情况下即:
Project 选项卡下,DOXYFILE_ENCODING = UTF-8
Input 选项卡下,INPUT_ENCODING = UTF-8
输出英文内容正常,中文注释乱码,修改:
DOXYFILE_ENCODING = GB2312
INPUT_ENCODING = GB2312
则报错如下:
error: unsupported character conversion: 'GB2312 '->'UTF-8'
*** Doxygen has finished
删除掉生成的html文件夹也同样报错,重新改为:
DOXYFILE_ENCODING = GBK
INPUT_ENCODING = GBK
则报错如下:
error: unsupported character conversion: 'GBK '->'UTF-8'
*** Doxygen has finished
继续修改如下:
DOXYFILE_ENCODING = GBK
INPUT_ENCODING = UTF-8
报错如下:
error: unsupported character conversion: 'GBK '->'UTF-8'
*** Doxygen has finished
继续修改如下:
DOXYFILE_ENCODING = UTF-8
INPUT_ENCODING = GBK
则会进入正常生成,只是chm左边栏为乱码
最后修改如下:
OUTPUT_LANGUAGE = English
DOXYFILE_ENCODING = UTF-8
INPUT_ENCODING = GBK
则生成的chm左边栏为英文,右边栏中的固定标题为英文,中文注释部分仍为中文,是比较满意的一个了。
生成合乎要求的中文则需要设置如下
OUTPUT_LANGUAGE = Chinese
DOXYFILE_ENCODING = UTF-8
INPUT_ENCODING = GBK
得到一个左边栏乱码,但是右边栏中文标题和中文注释内容正常的chm,再使用 iconv 修正。
实际上操作,则是通过 doxywizard 配置好其它选项和上面的选项后关闭生成Doxyfile文件,调用写好的06rebuild.bat处理
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
《删除html文件夹》
<<<<----------------------------------------------------------
cd ./html
for /f %%a in ('dir /a:d /b') do rmdir /s /q %%a
del /s /q /f *.*
>>>>----------------------------------------------------------
这三句会删除html文件夹所在的父文件夹下所有的文件和子文件夹,包含html,空留一个父文件夹在哪里
<<<<----------------------------------------------------------
cd %cd%/html
for /f %%a in ('dir /a:d /b') do rmdir /s /q %%a
del /s /q /f *.*
>>>>----------------------------------------------------------
这三句会删除html文件夹所在的父文件夹,父文件夹消失了
<<<<----------------------------------------------------------
cd E:/H3/wzx/H3Simulator/src/CipherTest/DecryptionManager/Doc/html
for /f %%a in ('dir /a:d /b') do rmdir /s /q %%a
del /s /q /f *.*
>>>>----------------------------------------------------------
这三句会删除html文件夹内所有东西,空留一个html文件夹
<<<<----------------------------------------------------------
cd "%~dp0"html
for /f %%a in ('dir /a:d /b') do rmdir /s /q %%a
del /s /q /f *.*
----------------------------------------------------------
这三句会删除html文件夹内所有东西,空留一个html文件夹
%~dp0:为了防止路径中有空格,一般加上"",无论在不在根目录下最后都有/
<<<<----------------------------------------------------------
:: rd /s /q "%~dp0"html 解释
:: "%~dp0"--为了防止路径中有空格,一般加上"",无论在不在根目录下最后都有/。
:: /S 除目录本身外,还将删除指定目录下的所有文件。用于删除目录树。
:: /Q 安静模式,带 /S 删除目录树时不要求确认。
::rd /s /q "%~dp0"html
>>>>----------------------------------------------------------
似乎改变了权限,再次执行 "doxygen Doxyfile",不能创建html文件夹
<<<<----------------------------------------------------------
echo ================================================
echo 》》 清空以前输出 《《
echo ================================================
if exist refman.chm del /f /q refman.chm
if exist output/html del /f /q output/html/*.*
if exist output/latex del /f /q output/latex/*.*
if exist output/rtf del /f /q output/rtf/*.*
if exist output del /f /q output/*.*
>>>>----------------------------------------------------------
将上面的 output 替换成 %cd%,运行结果导致整个当前文件夹内部东西删除,只生下个空壳
复制备份的文件到空壳中,又一切正常
*************************************************************************************
只保留“复件 doxygenfile”文件夹而把“doxygenfile”文件夹移到最外面src里面。
点击“复件 doxygenfile”中的“06rebuild.bat”,仍然会生成与“复件 doxygenfile”同级的
“doxygenfile”文件夹,这个doxygenfile文件夹只包含html,显示是在“复件 doxygenfile”
里面的批处理导致生成的,也就是说,因为Doxyfile里面的设置,导致了另外文件夹的必然生成。
要生成一个Doc里面包含的chm,需要修改 Doxyfile 里面的"doxygenfile"为“Doc”
而不是上面一直讨论的权限啊,删除啊之类的问题。
*************************************************************************************
使用指定时间作为生成文件的一部分
set FileName=%date:~0,10%_%time:~0,2%.%time:~3,2%
@if exist index.chm copy index.chm ../"%FileName%"-refman-"%RANDOM%".chm
@del /f /q *.chm
*************************************************************************************
Doxyfile4CHMExe--0.bat
用于其它项目时,发现
@if not exist %cd%/html goto A
不起作用,而对当前目录进行全删除
修改两点:
1 所有的 %cd% 加上双引号,避免一些空格什么的路径造成的问题
2 所有的目录后面都加上/.
结果如下:
@if not exist "%cd%"/html/. goto A
3 修改最后三个跳转标号为AA/BB/CC,防止与前面的三个标号A/B/C发生混淆
*************************************************************************************
实例:
::@echo off
::call 01clean.bat
::call 02build.bat
::call 05makechm.bat
::call 06cleanmid.bat
::pause
@echo ================================================
@echo 》》 生成准备 《《
@echo 》》 1 必需安装软件: 《《
@echo 》》 graphviz-2.26.3.msi 《《
@echo 》》 htmlhelp.exe 4.71 《《
@echo 》》 doxygen-1.7.1-setup.exe 《《
@echo 》》 复制到 windows/system32的文件: 《《
@echo 》》 fr.exe 《《
@echo 》》 iconv.exe 《《
@echo 》》 cygiconv-2.dll 《《
@echo 》》 cygintl-2.dll 《《
@echo 》》 cygwin1.dll 《《
@echo 》》 2 当前目录必需Doxyfile文件且设置: 《《
@echo 》》 OUTPUT_LANGUAGE = Chinese 《《
@echo 》》 DOXYFILE_ENCODING = UTF-8 《《
@echo 》》 INPUT_ENCODING = GBK 《《
@echo 》》 可使用Doxywizard程序设置doxyfile文件 《《
@echo 》》 3 本程序必须与doxyfile在同一目录下面 《《
@echo ================================================
@pause
:: 授予当前目录完全操作权限
::@cacls "%cd%" /e /c /g everyone:F
@echo 首先判断是否存在Doxyfile文件
@pause
@if not exist "Doxyfile" echo " !!! NO Doxyfile, Exit !!! "
@if not exist "Doxyfile" pause
@if not exist "Doxyfile" echo " !!! 没有配置文件Doxyfile,将退出 !!! "
@if not exist "Doxyfile" pause
@if not exist "Doxyfile" exit
@echo 存在Doxyfile文件,进入流程处理
:: call 01clean.bat
@echo off
@echo ================================================
@echo 》》 1 清空以前输出 《《
@echo ================================================
@pause
@if exist output/html/ del /f /q output/html/*.*
@if exist output/latex/ del /f /q output/latex/*.*
@if exist output/rtf/ del /f /q output/rtf/*.*
@if exist output del /f /q output/*.*
::@echo 1
::@pause
::if exist "%cd%"/html/. del /f /q %cd%/html/*.*
::@cacls "%cd%" /e /c /g everyone:F
@if not exist "%cd%"/html/. goto A
::@echo 2
::@pause
@echo 更改"%cd%"/html目录为目标目录
@cd /d "%cd%"/html/.
@echo 正在删除html文件夹下的所有文件,请稍等......
@echo 清除非目录文件
@del /s /q *.*
@echo 清除html所有目录及其所有子目录和文件
@for /F %%i in ('dir /b') do rmdir /s /q %%i
@echo 清除html文件夹
@cd ..
@rd /s /q "%~dp0"html
@echo 清除完成!
:A
::@echo 3
::@pause
::if exist "%cd%"/latex/. del /f /q %cd%/latex/*.*
::@cacls "%cd%" /e /c /g everyone:F
@if not exist "%cd%"/latex/. goto B
::@echo 4
::@pause
@echo 更改"%cd%"/latex目录为目标目录
@cd /d "%cd%"/latex/.
@echo 正在删除latex文件夹下的所有文件,请稍等......
@echo 清除非目录文件
@del /s /q *.*
@echo 清除latex所有目录及其所有子目录和文件
@for /F %%i in ('dir /b') do rmdir /s /q %%i
@echo 清除latex文件夹
@cd ..
@rd /s /q "%~dp0"latex
@echo 清除完成!
:B
::@echo 5
::@pause
::if exist "%cd%"/rtf/. del /f /q %cd%/rtf/*.*
::@cacls "%cd%" /e /c /g everyone:F
@if not exist "%cd%"/rtf/. goto C
::@echo 6
::@pause
@echo 更改"%cd%"/rtf目录为目标目录
@cd /d "%cd%"/rtf/.
@echo 正在删除rtf文件夹下的所有文件,请稍等......
@echo 清除非目录文件
@del /s /q *.*
@@echo 清除rtf所有目录及其所有子目录和文件
@for /F %%i in ('dir /b') do rmdir /s /q %%i
@echo 清除rtf文件夹
@cd ..
@rd /s /q "%~dp0"rtf
@echo 清除完成!
:C
::@echo 7
::@pause
::@cacls "%cd%" /e /c /g everyone:F
@if exist "%cd%"/*.hhc del /f /q "%cd%"/*.hhc
@if exist "%cd%"/*.hhp del /f /q "%cd%"/*.hhp
@if exist "%cd%"/*.hhk del /f /q "%cd%"/*.hhk
@if exist "%cd%"/*.tmp del /f /q "%cd%"/*.tmp
@if exist *refman*.chm del /f /q *refman*.chm
:: call 02build.bat
@echo off
@echo ================================================
@echo 》》 2 生成中间文档 《《
@echo ================================================
@pause
doxygen Doxyfile
:: call 05makechm.bat
@echo off
@echo ================================================
@echo 》》 3 将Doxygen输出文件编码从utf-8转到gbk 《《
@echo ================================================
@pause
:: ================================================
:: #系统指定可执行文件的搜索路径: %PATH%
:: #局部返回当前目录字符串: %CD%"
:: ================================================
@set path=%path%;%cd%;
:: ================================================
:: 原“cd output/html”找不到路径,故"%cd%/html"
:: ================================================
@cd "%cd%"/html/.
@echo ================================================
@echo 》》 3.1 处理chm输入文件 《《
@echo ================================================
:: call 03utf82gbk.bat index.hhp
@echo off
@echo ================================================
@echo 》》3.1.1将index.hhp从utf-8编码转到gbk编码 《《
@echo ================================================
@for %%f in (index.hhp) do copy %%f %%f.utf8
@for %%f in (index.hhp) do iconv -c -f utf-8 -t gbk %%f.utf8 > %%f
:: call 03utf82gbk.bat index.hhc
@echo off
@echo ================================================
@echo 》》3.1.2将index.hhc从utf-8编码转到gbk编码 《《
@echo ================================================
@for %%f in (index.hhc) do copy %%f %%f.utf8
@for %%f in (index.hhc) do iconv -c -f utf-8 -t gbk %%f.utf8 > %%f
:: call 03utf82gbk.bat index.hhk
@echo off
@echo ================================================
@echo 》》3.1.3 将index.hhk从utf-8编码转到gbk编码《《
@echo ================================================
@for %%f in (index.hhk) do copy %%f %%f.utf8
@for %%f in (index.hhk) do iconv -c -f utf-8 -t gbk %%f.utf8 > %%f
::call 04html-utf82gbk *.html
@echo off
::call 03utf82gbk *.html
@echo off
@echo ================================================
@echo 》》3.1.4将*.html从utf-8编码转换到gbk编码 《《
@echo ================================================
@for %%f in (*.html) do copy %%f %%f.utf8
@for %%f in (*.html) do iconv -c -f utf-8 -t gbk %%f.utf8 > %%f
@echo ================================================
@echo 》》3.1.5将*.html的charset从UTF-8改为gb2312《《
@echo ================================================
fr *.html -fic:charset=UTF-8 -t:charset=gb2312
@echo ================================================
@echo 》》 3.2生成chm文件 《《
@echo ================================================
@"C:/Program Files/HTML Help Workshop/hhc.exe" index.hhp
::@if exist index.chm copy index.chm ../refman"%RANDOM%".chm
set FileName=%date:~0,10%_%time:~0,2%.%time:~3,2%
@if exist index.chm copy index.chm ../"%FileName%"refman"%RANDOM%".chm
@del /f /q *.chm
:: “../”表示当前文件夹上一级文件夹
:: DOS只能用反斜杠分割"/","/"表示加参数哦
:: @pause
:: @echo %CD% 发现当前目录在 ../DecryptionManagerDoc/Doc/html
:: @cd ../../
:: @echo %CD% 发现当前目录在 ../DecryptionManagerDoc/
:: @pause
@echo 退回html上一级目录
@cd /d ../
::call 06cleanmid.bat
@echo off
@echo ================================================
@echo 》》 4 清空中间输出 《《
@echo ================================================
@pause
@if exist output/html del /f /q output/html/*.*
@if exist output/latex del /f /q output/latex/*.*
@if exist output/rtf del /f /q output/rtf/*.*
@if exist output del /f /q output/*.*
:: rd删除文件好像会修改文件权限哦,这里前后两次设置相同权限
::@cacls "%cd%" /e /c /g everyone:F
::if exist "%cd%"/html/. del /f /q %cd%/html/*.*
::if exist "%cd%"/html/. rd /s /q "%~dp0"html
::@cacls "%cd%" /e /c /g everyone:F
@if not exist "%cd%"/html/. goto AA
@echo 更改"%cd%"/html目录为目标目录
@cd /d "%cd%"/html/
@echo 正在删除html文件夹下的所有文件,请稍等......
@echo 清除非目录文件
@del /s /q *.*
@echo 清除html所有目录及其所有子目录和文件
@for /F %%i in ('dir /b') do rmdir /s /q %%i
@echo 清除html文件夹
@cd ..
@rd /s /q "%~dp0"html
@echo 清除完成!
:AA
::if exist "%cd%"/latex/. del /f /q %cd%/latex/*.*
::if exist "%cd%"/latex/. rd /s /q "%~dp0"latex
::@cacls "%cd%" /e /c /g everyone:F
@if not exist "%cd%"/latex/. goto BB
@echo 更改"%cd%"/latex目录为目标目录
@cd /d "%cd%"/latex/.
@echo 正在删除latex文件夹下的所有文件,请稍等......
@echo 清除非目录文件
@del /s /q *.*
@echo 清除latex所有目录及其所有子目录和文件
@for /F %%i in ('dir /b') do rmdir /s /q %%i
@echo 清除latex文件夹
@cd ..
@rd /s /q "%~dp0"latex
@echo 清除完成!
:BB
::@if exist "%cd%"/rtf/. del /f /q %cd%/rtf/*.*
::@if exist "%cd%"/rtf/. rd /s /q "%~dp0"rtf
::@cacls "%cd%" /e /c /g everyone:F
@if not exist "%cd%"/rtf/. goto CC
@echo 更改"%cd%"/rtf目录为目标目录
@cd /d "%cd%"/rtf/.
@echo 正在删除rtf文件夹下的所有文件,请稍等......
@echo 清除非目录文件
@del /s /q *.*
@@echo 清除rtf所有目录及其所有子目录和文件
@for /F %%i in ('dir /b') do rmdir /s /q %%i
@echo 清除rtf文件夹
@cd ..
@rd /s /q "%~dp0"rtf
@echo 清除完成!
:CC
::@cacls "%cd%" /e /c /g everyone:F
@if exist "%cd%"/*.hhc del /f /q "%cd%"/*.hhc
@if exist "%cd%"/*.hhp del /f /q "%cd%"/*.hhp
@if exist "%cd%"/*.hhk del /f /q "%cd%"/*.hhk
@if exist "%cd%"/*.tmp del /f /q "%cd%"/*.tmp
::@cacls "%cd%" /e /c /g everyone:F
@pause
- doxygen使用心得
- doxygen的使用心得
- Doxygen学习和使用心得
- souroot的Doxygen使用心得
- Doxygen心得
- doxygen 帮助手册生成使用心得
- Doxygen的个人使用心得和记录
- Doxygen心得(转)
- 使用doxygen
- doxygen 使用
- doxygen 的使用
- 转载:使用doxygen
- doxygen配置与使用
- Doxygen 的使用简介
- Doxygen 使用笔记
- Doxygen 使用札记
- doxygen使用札记
- 使用 doxygen 生成文档
- tomcat数据源配置
- 我的HTTP服务器(2)
- 树形视图控件
- Open Session In View是个双刃剑
- Java中的SoftReference 和 WeakReference
- doxygen使用心得
- 舜和优质TPE、TPR热塑性弹性体供应
- asp.net面试题目大全
- QTP,在代码中调用Setting中的Parameter
- 自己关于一个基础ATL/COM的总结(1)
- 什么是ColdFusion(CFL格式网页)
- .NET程序安装包制作
- Android开发环境搭建
- putty中文乱码的解决