問題タブ [ocamlbuild]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
194 参照

ocaml - ocamlbuild プロジェクトにビルド ツールを追加 (Ragel)

LLVM Ocaml チュートリアルのコンテキストで、 Ragelソース ファイルを Ocaml ソース ファイルにコンパイルする機能を追加しようとしています。具体的には、拡張子が「.rl」のソース ファイルの場合は、次のように実行します。

もちろん、ビルドシステムは結果の Ocaml ファイルを通常どおりコンパイルする必要があります。これを行う簡単な方法は何ですか?

_tags ファイルは次のとおりです。

myocamlbuild.ml ファイルは次のとおりです。

0 投票する
1 に答える
638 参照

c++ - ocamlbuild を使用した C++ コードのビルド

.oを使用して C ソースからファイルをビルドする方法に関する多くのガイドを見つけましたocamlbuildocamlbuildただし、これらはそのままではビルドできないC++ ファイルには適用されません。

toからのルールを提供するファイルを書き込もうとしましたがmyocamlbuild.ml(リクエスト後に以下に表示) 、ファイルをどう処理するかわからないという不平を言って失敗します (コンパイラがコマンド ライン フラグを介して に設定されている場合でも)。.cpp.oocamlc.cppg++

ファイルlibsoundness.clibは一連のファイルで構成されてい.oます。

するとocamlbuild libsoundness.a、次の出力が得られます。

C ++の他の唯一の解決策はocamlbuild-ctools、Webサイトが機能していないようです(ソースをダウンロードできませんでした)。

何か案は?

0 投票する
1 に答える
1111 参照

compiler-construction - OCamlで静的にプロジェクトをビルドする方法

一部のライブラリが利用できないシステム (yojson、curl、cryptokit ですが、おそらくそれほど重要ではありません) でコンパイル/リンク/実行するために OCaml プロジェクトを準備する必要があります。

これまで私は使用していました:

一部のパッケージが欠落している場合、明らかに機能しません。私の試みは、ライブラリパスの入力を探すことでした

不足しているライブラリのフォルダーをプロジェクトのフォルダーに手動でコピーします。ここにそれらのリストがあります

わかりましたので、プロジェクトからすべてのファイルを段階的にコンパイルしてから、次を使用してすべてを実行可能ファイルにコンパイルしようとしました。

しかし、私は得ています:

私は少しググったところ、yojsonは静的に構築されておらず、依存関係を満たすために「biniou」ライブラリが必要であるように見えます(静的に構築するかどうかはわかりませんが、そのように見えます)。実際、最後のコマンドを次のように変更した後 (変更はアスタリスクでマークされています):

以前のエラーは発生しませんが、新しいエラーが発生しました:

ああ、yojson/curl/cryptokit が依存しているすべてのライブラリを含めるわけではありません >:(。助けてもらえますか?さらに、ocamlbuild を使用してそれを行う簡単な方法はありますか?

0 投票する
2 に答える
339 参照

build - .cma ファイルの作成 OCaml

OCaml は初めてで、そのHANSEIライブラリを使用しようとしています。そのためには、ここで言及されている caml-shift.tar.gz とともに、ここで言及されているいくつかの .ml および .mli ファイルを含める必要があります

私の MakeFile の内容の最初の行は次のとおりです。

MakeFile のコメント セクションでは、他の .ml および .mli ファイルと一緒に delimcc.cma ファイルを使用するように提案されていますが、.cma ファイルの作成方法がわかりません。作成済みの delimcc.cma ファイルが見つかりません。これで私を助けてください。私の理解が間違っている場合はお知らせください。ありがとう!

0 投票する
2 に答える
727 参照

makefile - ocamlbuild と OUnit

次のような構造のプロジェクトがあります。

Makefile次のようなものです。

を実行するmake testsと (ビルド後にmain.byte)、次のエラーが返されます。

ocamlbuildにリンクできないことを示していますmain.byte。見た目のtestsルールはどうあるべきですか?Makefile

0 投票する
2 に答える
1373 参照

ocaml - OCaml ライブラリの作成

他の OCaml プロジェクトで使用できるライブラリを作成しようとしていますが、完全に迷っています。

私は現在ocamlbuild、実行可能ファイルを吐き出すのに最適なツールを使用していますが、そこからライブラリを取得する方法がわかりません。

ocamloptandで -a オプションを発見しましたが、そのocamlc使用方法がよくわかりません。私が見つけたドキュメント (たとえば、こちら) は、ある程度の既存の知識を前提としているようです。.a ファイルが何であるかさえ知りません。それを実行した後、出力されたファイルのうち、このライブラリに依存するプロジェクトをビルドする必要があるのはどれですか? アプリケーションがライブラリ コードの署名を認識できるように、mli ファイルが必要ですか、それとも何らかの形で出力に含まれていますか? また、Java の .jar ファイルのように、すべてのファイルをまとめてパッケージ化できると便利です。

いずれにせよ、ocamlbuild呼び出す必要がある場合は、ocamlopt -a依存関係を手動で指定するか、スクリプトをハックする必要があるため、これらすべてを自分でやりたいと思っていますocamldep-ocamlbuild修正するはずだったもの. ただし、ライブラリを構築するように指示する方法がわかりません。

必要に応じてオアシスや OPAM などを使用したいと考えていますが、最初は基本的なツールだけを使用してこれを行う方法を学びたいと考えています。

0 投票する
1 に答える
254 参照

ocaml - ocamlbuild を使用したモジュール パック

次のファイル階層があります。

そして、私は次のことができるようにしたい:

モジュールfoo.mlを作成するときに考慮に入れるようにocamlbuild に指示するにはどうすればよいですか?Foo

編集 1

daniel-bünzli さんの回答のおかげで、やりたいことができました。だから今、私は次のシナリオにいます:

現在の問題は、Toto.Barによって遮られているように見えることFoo.Barです。Toto.Barのコンテンツにアクセスできません。

編集 2

実際、それは本当の問題ではありません。

名前を変更しましたFoo/bar.ml-> Foo/fooBar.ml.

だから私は次のものを持っていますfoo.ml

私の理解が正しければ、Jane Street の人たちはCore_kernelwithCore_listやその他のモジュールで同じことをしています。

0 投票する
1 に答える
348 参照

ocaml - OCaml 4.02.0 での mark_tag_used 警告

OCaml 4.02 (opam を使用) でコードを試しているところですが、次のような多くの警告が表示されます。

しかし、それはで定義されていmyocamlbuld.mlます:

私はそれを取り除くことができます:

しかし、タグを使用するたびに、そのような行が 1 つ必要です。また、私のコードは以前のバージョンの OCaml ではビルドされません。一般的な修正は何ですか?

(完全なコードはhttps://github.com/0install/0installにあります)