Как решить неопределенную ссылку на dynloadflag? - PullRequest
0 голосов
/ 06 июля 2018

Моя точная ошибка времени ссылки:

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#"

У меня есть другой файл данных (main.dats), который, похоже, не вызывает этой проблемы. Есть ли какая-нибудь библиотека ATS, которую нужно добавить в LDFLAGS?

1 Ответ

0 голосов
/ 07 июля 2018

Каждый файл DATS в ATS считается модулем, который должен быть инициализируется. Если инициализация не требуется, вам нужно добавить следующее строка в этом файле DATS

# определение ATS_DYNLOADFLAG 0

В противном случае вам нужна строка, подобная следующей

# dynload "/path/to/foo.dats"

в основном файле, где используется этот модуль.

...