我确切的错误链接时错误是:
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?
答案 0 :(得分:1)
ATS中的每个DATS文件都被认为是某种模块,需要 初始化。如果不需要初始化,则需要添加以下内容 该DATS文件中的行
#define ATS_DYNLOADFLAG 0
否则,您需要像下面的一行
#dynload“ /path/to/foo.dats”
使用此模块的主文件中的。