Успешно реорганизовав мой проект для ocamlbuild с подкаталогами и используя ocamlfind, я обнаружил, что трудно создать верхний уровень.
Я создал файл .mltop
, содержащий все модули, которые будут включены, и добавил пакеты в _tags
, но сборка не работает. Он не может найти функции C, скомпилированные с одним из модулей. При включенном -classic-display
я вижу, что этот файл libcside.a
не включен и даже не компилируется вообще! Файл c добавляется как зависимость в myocamlbuild.ml
by,
flag ["link"; "ocaml"; "use_cutil"] (S [A"-cclib"; A"-L."; ]);
dep ["link"; "ocaml"; "use_cutil"] ["libcside.a"];
и _tags
,
<utilities.*> : use_cutil
<**/*.top> : use_str, use_unix, use_cutil, use_curl, use_mysql
и, наконец, в libcside.clib
,
cutil.o
Я что-то упускаю при настройке сборки для верхнего уровня, но я не могу найти надежный ресурс в Интернете. Спасибо.