Для компиляции байт-кода используйте ocamlc
, а затем любые другие файлы, необходимые в порядке слева направо, который представляет их зависимости. Эти файлы могут быть файлами исходного кода ocaml или скомпилированными файлами (cmo
). Чтобы скомпилировать файлы по отдельности в cmo
, вы должны сделать что-то вроде
ocamlc.opt -c -annot -o util.cmo util.ml
ocamlc.opt unix.cmo str.cmo util.cmo game.ml -o game
Рекомендуется включить в ответ строку, которую вы использовали, чтобы попытаться скомпилировать приложение, что должно быть просто здравым смыслом.
библиотеки, используемые во всем коде
являются: открытые основы ;; открыть Paritygame ;;
открыть Univsolve ;; открытые решатели ;;
файлы, содержащие модули:
basics.ml basics.mli, paritygame.ml
paritygame.mli, univsolve.ml
univsolve.mli и solvers.ml
solvers.mli .....
Это не называется библиотеками. Это модули. Библиотека - это коллекция cmo
файлов, скомпилированных в cma
для распространения. Но все это действительно ничего не говорит о зависимостях между модулями, чтобы сказать нам, что вы делаете неправильно в компиляции. После того, как вы освоите некоторые из этих основ, я предлагаю перейти к ocamlbuild
. Для таких простых проектов, как этот, он может скомпилировать проект буквально без усилий. Он разрешит зависимости и скомпилирует только те файлы, которые изменились с момента последнего вызова.