Я скачал проект, который содержит следующие файлы:
assert.mli
assert.ml
deque.ml
deque.mli
eventloop.ml
eventloop.mli
g.ml
gctx.ml
gctx.mli
gdemo.html
gdemo.ml
gdemo.mli
g-js.ml.x
g-native.ml.x
lightbulb.html
lightbulb.ml
lightbulb.mli
Makefile
paint.html
paint.ml
paint.mli
widget.ml
widget.mli
widgetTest.ml
widgetTest.mli
Я могу скомпилировать некоторые файлы, которые не зависят от других файлов, выполнив, например,
$ ocamlc assert.mli assert.ml
,Однако eventloop.ml
зависит от widget.ml
, а widget.ml
зависит от gctx.ml
.gctx
, кажется, зависит от модуля G
, который я считаю графической библиотекой.Когда я заглядываю внутрь g-js.ml.x
, я вижу, что это подтверждает, что этот файл импортирует фиксированную версию графической библиотеки.Тем не менее, я понятия не имею, как использовать этот файл.Я попробовал несколько предположений в терминале, но безрезультатно.Примером предположения было
$ ocamlc g-js.ml.x g.ml
Я пытался найти в Google "как скомпилировать ocaml" .ml.x "", но ничего не нашел, и я не уверен, стоит ли искать что-то ещеили если просто не так много о том, как обрабатывать эти файлы.
Я также попытался в терминале $ make -f Makefile
и получил ошибку
+ ocamlfind ocamldep -package js_of_ocaml-lwt.graphics -package js_of_ocaml-lwt -package js_of_ocaml -modules gdemo.mli > gdemo.mli.depends
ocamlfind: Package `js_of_ocaml-lwt.graphics' not found
Command exited with code 2.
Compilation unsuccessful after building 1 target (0 cached) in 00:00:00.
Makefile:51: recipe for target 'gdemo.byte' failed
make: *** [gdemo.byte] Error 10
Поиск этой ошибки, другие люди нашли ее исправленной, обновив библиотеки OPAM и особенно обновив cppo_ocamlbuild
, но этоне исправить это для меня.
Редактировать: После выполнения некоторых инструкций в комментариях я получаю новое сообщение об ошибке при попытке создать Makefile:
rm -rf g.ml
cp g-js.ml.x g.ml
ocamlbuild -use-ocamlfind -pkg js_of_ocaml -pkg js_of_ocaml-lwt -pkg js_of_ocaml-lwt.graphics gdemo.byte
Failure: ocamlfind not found on path, but -no-ocamlfind not used.
Compilation unsuccessful after building 0 targets (0 cached) in 00:00:00.
Makefile:51: recipe for target 'gdemo.byte' failed
make: *** [gdemo.byte] Error 2