我需要包含一些来自Erlang / OTP模块的头文件,除了使用像
这样的绝对路径之外还有其他任何实用的方法吗? -include("/usr/lib64/erlang/lib/snmp-4.25/include/snmp_types.hrl").
答案 0 :(得分:2)
我认为你可以使用:
-include_lib("snmp/include/snmp_types.hrl").
include_lib与include类似,但不应指出 绝对档案。相反,第一个路径组件(可能在之后 变量替换)被假定为应用程序的名称。
搜索Example: -include_lib("kernel/include/file.hrl"). The code server uses code:lib_dir(kernel) to find the directory of the current (latest) version of Kernel, and then the subdirectory
include文件file.hrl。
答案 1 :(得分:2)
是的,请参阅问题:Erlang: what is the difference between "include_lib" and "include"?
如果系统库中包含-include_lib(XXX)
,则应使用-include(XXX)
代替{{1}}。