Voglio compilare qualche bytecode OCaml e farlo girare su sistemi Windows e Unix. Il mio codice sorgente funziona bene se lo ricompilifico su ogni piattaforma, ma il bytecode non è portabile.Come realizzare il bytecode OCaml che funziona su Windows e Linux
codice di esempio: comando
open Unix
let on_windows = Filename.dir_sep <> "/";;
Printf.printf "On windows: %b\n" on_windows;;
let child = create_process "gpg" (Array.of_list ["gpg"; "--version"]) stdin stdout stderr;;
Printf.printf "Child %d\n" child;;
Corporatura:
ocamlbuild -use-ocamlfind -pkg unix test.byte
Se compilo in Windows ed eseguire su Linux, ottengo
Fatal error: unknown C primitive `win_waitpid'
Se compilo su Linux ed eseguire su Windows ottengo:
Fatal error: unknown C primitive `unix_waitpid'
Come posso far funzionare il bytecode ovunque?
Si prega di mostrare il comando di compilazione. – ygrek
Sto usando ocamlbuild - Ho modificato la domanda. –