UE4官方的API文档不方便查阅,搜索很不方便。如果有chm格式的文档就可以快速搜索。
在UE4安装目录下有自带的html文档:
EngineDocumentationBuildsCppAPI-HTML.tgz
解压后在en-USAPI子目录下
首先尝试过html2chm、hugechm、easychm这几个软件直接进行转换,但是显示效果不行,而且总是报javascript错误,一直没法解决
于是尝试直接从源代码生成html文档,然后编译压缩成chm格式的,但是期间踩了一些坑,特此记录
首先需要安装Doxygen,官网
打开后开始进行配置
在Wizard>Project只需要设置输出目录并勾选Scan recursively(源代码目录后面再设置)
Wizard>Mode勾选All Entities和Optimize for C++
Wizard>Output选择prepare for chm和With search function
Diagram是生成类图,勾选后会生成比较大的文件,很耗时
Expert页面可以选择创建子目录,然后拉到最下面
要把这两项都设大一些,不然速度很慢而且很可能崩溃。。
Input设置如上,其实只要Runtime目录下的基本就可以了,只需要解析头文件,还有Private目录的文件也不需要解析,这样也可以加快生成速度
Source Browser可以取消勾选VERBATIM_HEADERS,勾选的话会将所有头文件复制一份,方便直接从文档跳转到头文件,但是文档会很臃肿
HTML页面要勾选生成HTMLHELP,然后指定生成的文件名,HHC_LOCATION在
C:/Program Files (x86)/HTML Help Workshop/hhc.exe
左边最底下Dot页也推荐取消生成类图,非常耗时
最后到Run页面运行即可
如果上面几步勾选了生成类图,用的还是Dot;源码目录直接选择了Source,还勾选了复制头文件的那一项,而且没有过滤Private的话,内存占用平均会在26GB左右我挂了一晚上都还没跑完。。
不选择那几项的话也需要至少10GB的内存,内存不够就只能用加虚拟内存,速度会很慢。
其实按照这几部下来,最后会提示编译生成chm文件的时候出错:hhc.exe不能处理index.hhp或者是hhc.exe内存不足以运行。
试过将32位程序可用内存加大但是依然不行,暂时也是没有办法解决。最后还是使用外部工具,比如easychm,来进行最后一步的编译压缩。