2

HTTPリクエストを作成するためにパッケージcurlを使用しています(および正規表現を使用するパッケージstr)。私は自分のプロジェクトでファイルをコンパイルしていますが、問題はありません.file.byteをjs_of_ocamlでコンパイルすると、次のエラーが発生します:

js_of_ocaml --genprim foo.byte を無効にします。

Missing primitives:
  helper_curl_easy_cleanup
  helper_curl_easy_duphandle
  helper_curl_easy_getinfo
  helper_curl_easy_init
  helper_curl_easy_perform
  helper_curl_easy_setopt
  helper_curl_global_init
  re_search_forward
  re_string_match

生成された js ファイルをインクルードすると、Web コンソールに次のエラーが表示されます。 Uncaught ReferenceError: helper_curl_global_init is not defined

欠落しているプリミティブがあり、それがエラーの原因であることはわかっていますが、それを修正する解決策はありますか?

4

2 に答える 2

3

一部の OCaml ライブラリは、プレーン C で記述されたプリミティブを使用します。明らかな理由から、js_of_ocaml はそれらを Javascript にリンクできません。この場合、マニュアルに記載されているように、それらを手動で実装する必要があります

Str モジュールの関数は ECMAScript ライブラリに同等のものがあるため、おそらくそれらを使用する必要があります (誰かが Str と同じインターフェイスを持ち、内部で Javascript 関数を呼び出すヘルパー モジュールを作成していない場合)。

于 2015-03-18T12:53:50.317 に答える