Mac (ホスト) でソースから OCaml をコンパイルしましたが、問題はありません。また、いくつかのターゲット (ホストとは異なる) に対して Mac で OCaml をクロスコンパイルしましたが、この場合、次の問題があります。
1)ホスト上ocamlrun
とocamlyacc
同様に、(ターゲット上で)直接使用でき、「純粋な」バイナリであるため、問題なく使用できます。$INSTALL/bin
のように(はターゲット上の$INSTALL
のインストール ディレクトリ)から他のバイナリを使用したい場合、 のパスが間違っているというエラーが表示されます。実際、16 進エディタでバイナリを開くと、ターゲット バージョンへのパスではなく、クロスビルドを実行したホスト (私の Mac)へのパスであるa で始まることがわかります。 ..もちろん、このパスをターゲット上のパスに置き換えれば、もう何もする必要はありません。すべて問題ありません。、およびからの他のすべてのバイナリについても同じocaml
ocamlopt
ocamlrun
ocamlopt
#!/not/target/but/host/path/to/ocamlrun
ocamlrun
configure
ocamlrun ocamlopt
$INSTALL/bin
ocamlrun
ocamlyacc
脇に置く。(上で書いたように、最後の2つは直接機能します。)ターゲット上の正しいパスがバイナリの先頭に直接表示されるようにconfigure
(ホスト上で)ocaml
クロスビルドする方法はありますか?ocamlrun
$INSTALL/bin
2)フラグで$INSTALL/lib/ocaml
ディレクトリを指定しないとコードをコンパイルできません。-I
この標準ライブラリのパスを強制する方法はありconfigure
ますか? または、それを処理する「内部」環境変数で、ライブラリをocaml
確実に検索できるように編集できますか?(私は環境変数の解決策について非常に悲観的です。ホスト上では(で) 2つの環境変数しかなく、誰もこの種のものを扱っていないようです。そのため、なぜそれが異なる/より良いものになるのかわかりませんターゲットに...)ocaml
$INSTALL/lib/ocaml
printenv
ocaml