LINUX.ORG.RU

Ocaml: ошибка


0

0

test.ml:
let fd = Unix.openfile "lala.dat" [Unix.O_RDONLY] 0o444;;

$ ocamlopt.opt test.ml -o test
No implementations provided for the following modules:
Unix referenced from test.cmxt

В чём дело ?
anonymous
Ответ на: комментарий от anonymous

Подробно данный вопрос не изучал, за отсутсвием реальной необходимости. Методом тыка известно, что с базовыми модулями вроде List-а и Array-а программа линкуется по умолчанию.

Burbaka ★★
()
Ответ на: комментарий от anonymous

>Но это что, для каждого модуля надо указывать *.cmxa ?

да. Точно так же, как для сишной программы надо указывать все библиотеки.

seiken ★★★★★
()

причём надо ещё порядок учитывать, а для либ-фронтендов указывать соотв. ELF бинари. Вобщем, в мало-мальски сложных программах без экспериментов не обойтись.

seiken ★★★★★
()
Ответ на: комментарий от anonymous

да, есть такая подстава... причем если модулей много и большая часть свои, то выяснять какой надо поставить перед каким -- имхо то еще развлечение.

есть конечно omake, но это не вариант, если надо сбилдить что-то кроссовое.

Rastafarra ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.