問題タブ [ocamlfind]
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.
ocaml - "ocamlfind" を使用して OCaml コンパイラとトップレベルの (プロジェクト固有の) ライブラリを検索する
OCaml コンパイラとトップレベルの両方でocamlfindを使用しようとしています。私が理解したことから、必要なライブラリをプロジェクトのルートにある _tags ファイルに配置する必要があります。これにより、ocamlfindツールがそれらをロードし、モジュールで次のように開くことができるようになります。
現在、_tags ファイルは次のようになっています。
プロジェクトをコンパイルしたくない場合は、ocamlc または ocamlopt 引数を指定してocamlfindコマンドを起動できるようですが、同じ方法でトップレベルを起動するオプションが表示されませんでした。これを行う方法はありますか (" ocamlfind ocaml
" のようなもの)?
また、プロジェクト固有のモジュールを _tags ファイルに配置する方法もわかりません。モジュール名がLandであると想像してください。現在、#use "land.ml"
ディレクティブを使用してファイルを開いてモジュールをロードしていますが、これは適切な方法ではないことが示唆されています。ocamlfindによって読み込まれるように指定するには、_tags でどの構文を使用する必要がありますか(land.ml が ocamlfind 検索パスにないことを考慮してください)。
ありがとう、チャーリーP。
編集: この投稿の最初の回答によると、 _tags ファイルは ocamlfind では使用されません。上記の質問はまだ残っています。リストに新しいものがあります: ocamlfindにライブラリを指定する正しい方法は何ですか?
ocaml - それを使用してClibとOCamlexeをコンパイルし、すべてocamlfindを使用します
私はocamlfind
、CライブラリとそのCライブラリを使用してOCaml実行可能ファイルをコンパイルするために使用する方法を理解しようとしています。
かなりばかげたサンプルファイルのセットをまとめました。
ライブラリをコンパイルする方法は次のとおりです。
作成したライブラリを使用できないようですが、次のようになります。
OCamlツールは私にはやや不思議なので、どんなポインタでも大歓迎です。
ocaml - パッケージのプロジェクトローカルコピーで ocamlfind/ocamlbuild ツールチェーンを使用するにはどうすればよいですか?
私は自分のプロジェクトを自己完結型に保とうとしています。主要なサードパーティ ライブラリの依存関係はすべて、プロジェクト リポジトリ内で構築および参照されています。私のプロジェクトの主な ocaml 部分は ocamlbuild に依存しています。
しかし、含まれるバッテリーのような複雑なパッケージの場合、ocamlfind を介してプロジェクトにリンクされることが強く期待されているようです。ocamlfind は、パッケージがグローバルにインストールされることを想定しているようです。(環境変数とそのconfが別の場所を指すことを許可していることは認識していますが、基本的には、パッケージがグローバルに構成されているという前提に基づいて構築されているようです-パッケージの検索パスを動的に拡張するための同等-I
またはフラグはありません。-L
たとえば、環境変数を設定して ocamlfind 構成を動的にオーバーライドし、プロジェクト ローカル ツリーを検索することは可能かもしれませんが、これは単なる引数よりもはるかに厄介であり、同時に削除せずにそうするのも難しいようです。プライマリ でのメイン システム パッケージの検出site-lib
可能性。これも必要になる場合があります。)
ocamlbuild を使用するプロジェクトのプロジェクト ローカル ツリー内で自明でないサードパーティ パッケージをビルドおよびビルドするための適切な戦略は何ですか?
ocaml - ocamlfind、見つける場所/ビルド方法は?
ocaml についてほとんど何も知りませんが、バイナリに依存するCoccinelle (cygwin 上)をインストールしたいと考えていocamlfind
ます。
ただし、 http://caml.inria.fr/download.en.htmlから ocaml-3.11.0-win-mgw.exe または ocaml-3.11.0-win-msvc.exe をインストールすると、そのようなバイナリはありません。実際、インストールされたディレクトリ内の単一のファイルには、文字列「ocamlfind」への参照が含まれていません。
ソース コード (ocaml-3.12.1) をダウンロードすると、grep は次の参照のみを検出します。
これは、そのようなバイナリのインストールへの参照ではありません。だから私はどのように進めるか迷っています。古いリリースの ocaml に戻りますか?
ところで、ネイティブの ocaml cygwin パッケージにも ocamlfind バイナリは含まれていませんでした。
makefile - Makefileにハードコードされたパスがあります-それらを排除するためにocamlfindを使用する方法は?(または代わりにocamlbuildまたはomakeを使用する方法)
camlp4拡張機能(この場合はpa_deriving)を必要とするocamlプロジェクトをビルドしようとしています。これが私のMakefileです:
このMakefileは機能します。それは仕事を成し遂げます、しかし問題は私が上記のようにハードコードされたパスを持っているということです:/home/p/godi-3.12.1.0/lib/ocaml/site-lib/deriving-ocsigen/pa_deriving.cma OCamlの私のゴディインストール。コードとMakefileを配布して、誰でもそれを使ってビルドできるように、それらを取り除きたいと思います。
これにはomakeまたはocamlbuildを使用する必要がありますか?私はomakeを使いたいのですが、これにはOMakefileで遊んだことがありますが、何も機能しませんでした。何か提案をいただければ幸いです。
更新:次の_tagsファイルでocamlbuildを使用しようとしました:
次のocamlbuildコマンドを使用します。ocamlbuild-use-ocamlfindtest_logic.native-classic-display
そして私は得る:
これを修正するには、_tagsファイルに何を追加する必要がありますか?
installation - ocamlfind が godi でインストールされたパッケージを見つけられない
omakeでOMakefileをコンパイルしてみました。必要なすべてのパッケージを GODI でインストールしました。GODI は、これらのパッケージがインストール済みであることを示しています。Ocamlfind は、これらのパッケージのすべてを見つけるわけではありません。ocamlfind list を使用すると、一部のみが表示されます。
見つからなかったパッケージは、バッテリーと ocamlgraph です。この問題を解決するアイデアはありますか。私の目標は、他の誰かが作成したプログラムを使用することです。
ご挨拶
スヴェン
ocaml - 「ocamlfind install」を使用して Ocaml ライブラリをセットアップし、ocamlbuild でライブラリを使用する
ocamlfind install を使用して site-lib にライブラリをインストールするように設定するには、こちらの手順に従いました。2 つのライブラリがありました。1 つは logic と呼ばれ、もう 1 つは boolean と呼ばれます。いずれの場合も、ライブラリに .cmo、.cmx、.cmi、および .mli ファイルをインストールしました。次に例を示します。
次に、ocamlbuild を使用してロジックとブール値に依存する別のプロジェクトをビルドしようとすると、次のエラー メッセージが表示されました。
次に、ロジック プロジェクトとブール プロジェクトの .o ファイルを site-lib のそれぞれの領域にコピーし、コンパイルして正常にリンクしました。
なぜ .o ファイルが必要なのか、なぜ gcc がここに関与しているのか疑問に思っています。
役立つ場合に備えて、これが私の _tags ファイルです。
ocaml - findlib エラーをインストールしますか?
http://download.camlcity.org/download/findlib-1.3.2.tar.gzから findlib をダウンロードしました。configure
成功した後、次のようにmake all
報告します。
FreeBSD 9.0 を使用しています。の後pkg_add -r ocaml
、findlib はありません。
心から!
ocaml - ocamlbuildを使用してcamlp4にオプションを渡す
プロジェクトのビルドプロセスを簡素化するために、ocamlfindに対するocamlbuildのネイティブサポートを使用しています。ファイルfoo.ml
は、camlp4のマクロを使用した条件付きコンパイルに依存しています。この_tags
ファイルには次のものが含まれています。
これはうまく機能しますが、camlp4にオプションを渡すのに問題があります。ocamlbuild + ocamlfind自動化を使用しない場合、コマンドラインは次のようになります。
しかし、-DFOO
ocamlbuild + ocamlfindを使用するときにcamlp4に変数を渡すにはどうすればよいですか?をいじる代わりに、単純なコマンドラインオプションがあるべきだと思いますmyocamlbuild.ml
。
ocaml - Ocamlbuildを使用して、プロファイル情報を使用してネイティブ実行可能ファイルをビルドします
Ocamlbuildを使用して有効なプロファイル情報でビルドするにはどうすればよいですか?-p
そこでは機能しないようです。
今、私はこれに使用ocamlopt
します。例えば、
で同じことをする方法