2009-09-27 1 views
6

Я играю с OCaml. Первое, что я хочу знать, - это создать проект OCaml. Прямо сейчас, я просто хочу, чтобы что-то было глупо просто, так как я просто учился. Может ли кто-нибудь указать мне на систему сборки вместе с примером типа «привет мир» для использования этой системы сборки?Что такое глупо простой способ скомпилировать проект OCaml?

ответ

11

ocamlopt является стандартным компилятором на основе собственного кода. Типичный синтаксис сборки:

ocamlopt -o execname module1.ml module2.ml 

Вы можете использовать ocamlc для компиляции в байт-код вместо.

Обычно стандартная библиотека уже включена. Если вы на системе Nix * и хотите включить, скажем, библиотеку Unix, вы могли бы сделать что-то вроде

ocamlopt -o execname unix.cmxa module1.ml module2.ml 

CMXA файлов нативного кода LIBS, CMA файлы байткод ЛИЭСА.

Для более сложных построений, the ocamlfind программа, которая помогает найти libaries. Вы также можете использовать GNU make и аналогичные инструменты. Больше информации можно найти here. This - это страница об использовании gmake.

This является окном «Coder's First Ocaml».
Here - это лекционная страница для класса Ocaml, которую я получил в колледже. Не пытайтесь нападать на профессора Гюнтера за любыми советами, хотя она была злым троллом, если память служит.

+2

У меня была справедливая доля злых профессоров троллей. Точка отметила. :-) –

3

Возможно, вы ищете ide. Взгляните на Know of an OCAML IDE?.

http://www.ocaml-tutorial.org/compiling_ocaml_projects объясняет основы компиляции. В нижней части этой страницы есть раздел под названием Automated build systems и ссылки на темы Compiling with GNU make и Compiling with Omake оба вместе с образцами.

+1

На самом деле, я предпочитаю использовать emacs. И для примера «hello world» я больше думал о сценарии сборки типа «hello world», а не о «мире привет» для OCaml.:-) –

+0

Ответ с большинством голосов на вопрос # 118935 - «Emacs в режиме Caml, или режим Tuareg», посмотрите :-) – VolkerK

+0

У меня было намного больше удачи с omake, чем с ocamlbuild - это довольно просто для отображения зависимых пакетов в omakefile; Я не мог понять, как это сделать с ocamlbuild. Недавно я прочитал в списке рассылки ocaml, что ocamlbuild больше не поддерживается. – aneccodeal

3

Посмотрите на ocaml-make от Markus Mottle. Проект включает OCamlMakefile. Скопируйте это в каталог с исходными кодами и создать Makefile, например .:

SOURCES = hello.ml 
RESULT = hello 
-include OCamlMakefile 
2

Вы, наверное, знаете это, но только в том случае, если вы этого не сделаете, OCaml включают в REPL, который можно использовать для кодирования в интерактивном режиме без необходимости компиляции. Это может быть очень полезно, когда вы впервые учитесь.

+0

Вы можете ввести, #use "", чтобы включить файл, когда запущен пудинг. Не включайте дополнительные (скомпилированные) модули (файлы .cma) в командной строке или #load «filename.cma» в верхнем уровне. – nlucaroni

8

Существует также ocamlbuild. Для простого проекта без внешних зависимостей это так просто, как

ocamlbuild prog.native 
+0

Это очень простой способ, хотя документация отстой. Отладка программы с использованием компиляции toplevel также полезна, «ocamlbuild prog.top» – nlucaroni

+0

Это помогает. Вы также можете найти его здесь. https://realworldocaml.org/v1/en/html/a-guided-tour.html – eccstartup

+1

По моему опыту, это самый простой способ начать компиляцию многомодульных проектов Ocaml. –

0

Я также хотел бы добавить еще один Makefile для OCaml, который я использую для моих проектов.

Makefile и пример использования on the Ocaml website.

1

Предстоящий проект - OASIS, довольно элегантная система сборки, разработанная Сильваном Ле Галлом. Он использует его в кучу своих проектов OCaml, и я тоже.

 Смежные вопросы

  • Нет связанных вопросов^_^