如何解决对dynloadflag的未定义引用?

时间:2018-07-06 02:25:31

标签: ats

我确切的错误链接时错误是:

print.o: In function `_057_home_057_brandon_057_workspace_057_fsh_057_print_056_dats__dynload':
/home/brandon/workspace/fsh/print_dats.c:315: undefined reference to `_057_home_057_brandon_057_workspace_057_fsh_057_print_056_dats__dynloadflag' 

print.dats的内容很简单:

typedef FormatStruct = $extype"Format"

vtypedef Format(ll: addr) = (FormatStruct @ ll | ptr ll)

extern fun fmtputc{ll: addr}(fmt: Format(ll), cc: int): void = "mac#"

我还有另一个dats文件(main.dats),该文件似乎没有引起此问题。是否有一些ATS库需要添加到LDFLAGS?

1 个答案:

答案 0 :(得分:1)

ATS中的每个DATS文件都被认为是某种模块,需要 初始化。如果不需要初始化,则需要添加以下内容 该DATS文件中的行

#define ATS_DYNLOADFLAG 0

否则,您需要像下面的一行

#dynload“ /path/to/foo.dats”

使用此模块的主文件中的