首先,'钢筋文件'有时有效,有时不有效 . 它很奇怪 . 我正在使用的钢筋版本是2.5.1
我的文件夹结构是:
- Header_Directory
1.1应用程序
1.1.1 sub_dir_1
1.1.2 sub_dir_2 / include
1.1.3 sub_dir_3
1.2 deps
1.3 confs
rebar.config
sub_dir_3中的模块也使用sub_dir_2 / include文件夹中的一些包含文件 .
我在使用命令rebar doc时得到的错误是:.sub_dir_3 / src / my_log_worker.erl,在模块头中:第9行:找不到文件:some.hrl edoc:跳过源文件'sub_dir_3 / src / my_log_worker . erl':{'退出',错误} . edoc:doclet中的错误'edoc_doclet':{'EXIT',error} . 错误:处理/ home / learn / header_directory / apps / sub_dir_3时doc失败:{'EXIT',error}
我做'钢筋清理',然后在'钢筋doc'之前'钢筋编译'
另外,当我在erl shell中执行它时,我收到错误 .
edoc:file(“some_log_worker.erl”,[]) . edoc:错误读取文件'some_log_worker.erl' . **函数edoc:read_source / 2(edoc.erl,第664行)中的异常退出:{error,enoent}来自edoc:read / 2(来自edoc:read / 2)的来自edoc_extract:source / 3(edoc_extract.erl,第52行)的调用edoc.erl,第537行)来自edoc:file / 2的调用(edoc.erl,第116行)
有什么方法可以将我的hrl文件包含在rebar.config或edoc选项中?
我有'{edoc_opts,[{i,“apps / sub_dir_3 / include”}]} . '在rebar.config中,仍然没有任何帮助 .
2 回答
看起来你没有遵循螺纹钢/ OTP惯例:
Rebar & OTP convetions
我建议你转到那个文件组织,从钢筋等标准工具中受益真的会简单得多 .
是的,遵循OTP原则总是符合最佳利益 . 但是,它适用于我的应用程序结构 .
唯一的问题是因为erlang模块中的@headerfile注释 . 不知何故,我不知道如何正确使用@header文件注释 .
谢谢你的帮助 . :)