OCaml: когда я добавляю пакеты в командную строку, Ocaide больше не выполняет новый байт-код
Я использую Ocaide на Linux Mint, и когда я запускаю файл с просто print_string "TEST";;
это печатает как ожидалось. Теперь я хочу написать код и использовать OUnit, поэтому я поставил open OUnit2;;
наверху. Это дает ошибку, что модуль не связан, хорошо, я щелкаю правой кнопкой мыши файл и открываю Свойства, в разделе Модуль OCaml в поле для добавления флагов командной строки, я ставлю package -oUnit -linkpkg -g
и ошибка уходит. Однако я изменяю строку печати на print_string "Other test"
и теперь он продолжает печатать оригинальное сообщение "ТЕСТ".
Кажется, что с флагами командной строки байт-код больше не обновляется. Перед добавлением флагов он будет корректно обновлять байт-код при каждом сохранении файла.
Я попытался добавить флаги не в модуль, а в пакет. Я также попытался иметь флаги в обоих. Никто не работал.
Когда я открываю настройки запуска, поля, содержащие имя проекта, исполняемый файл и аргументы командной строки, кажутся правильными.
Когда я открываю терминал и перехожу к проекту в рабочей области Eclipse и запускаю там исполняемый файл, он все равно печатает старое сообщение "TEST".
Это не показывает компиляцию или другие ошибки.
В командной строке я могу выполнить ocamlfind ocamlc -o test -package oUnit -linkpkg -g test.ml
и это успешно создает файл, test
, который при запуске имеет обновленное сообщение "Другой тест".