У меня есть список .ml
для компиляции, определенный в моем makefile
, завершенный main/mail.ml
.
У меня есть failwith "to do"
как тело некоторых функций в этих файлах.Раньше я помню, что возникает ошибка, только когда выполнение функции требует выполнения во время выполнения.
Сегодня компиляция всех моих .ml
работает отлично: генерируются .cmi
, cmx
и .o
.Но когда я запускаю основной двоичный файл, он, кажется, не запускает сначала то, что находится в let ()
из main.ml
, вместо этого, кажется, что он сначала проверяет все файлы списка .ml
в makefile
и вызываетFatal error: exception Failure("to do") make: *** [all] Error 2
когда встречается первое faiwith "to do"
.
Я нахожу это поведение очень странным, может кто-нибудь сказать мне, в чем может быть причина?Что-то не так в моих makefile
или main.ml
?