0

Mac (ホスト) でソースから OCaml をコンパイルしましたが、問題はありません。また、いくつかのターゲット (ホストとは異なる) に対して Mac で OCaml をクロスコンパイルしましたが、この場合、次の問題があります。

1)ホスト上ocamlrunocamlyacc同様に、(ターゲット上で)直接使用でき、「純粋な」バイナリであるため、問題なく使用できます。$INSTALL/binのように(はターゲット上の$INSTALLのインストール ディレクトリ)から他のバイナリを使用したい場合、 のパスが間違っているというエラーが表示されます。実際、16 進エディタでバイナリを開くと、ターゲット バージョンへのパスではなく、クロスビルドを実行したホスト (私の Mac)へのパスであるa で始まることがわかります。 ..もちろん、このパスをターゲット上のパスに置き換えれば、もう何もする必要はありません。すべて問題ありません。、およびからの他のすべてのバイナリについても同じocamlocamloptocamlrunocamlopt#!/not/target/but/host/path/to/ocamlrunocamlrunconfigureocamlrun ocamlopt$INSTALL/binocamlrunocamlyacc脇に置く。(上で書いたように、最後の2つは直接機能します。)ターゲット上の正しいパスがバイナリの先頭に直接表示されるようにconfigure(ホスト上で)ocamlクロスビルドする方法はありますか?ocamlrun$INSTALL/bin

2)フラグで$INSTALL/lib/ocamlディレクトリを指定しないとコードをコンパイルできません。-Iこの標準ライブラリのパスを強制する方法はありconfigureますか? または、それを処理する「内部」環境変数で、ライブラリをocaml確実に検索できるように編集できますか?(私は環境変数の解決策について非常に悲観的です。ホスト上では(で) 2つの環境変数しかなく、誰もこの種のものを扱っていないようです。そのため、なぜそれが異なる/より良いものになるのかわかりませんターゲットに...)ocaml$INSTALL/lib/ocamlprintenvocaml

4

0 に答える 0