jusqu'ici, je m'amusais avec caml light! tres bien pour mes besoins.
je voudrais attaquer un vrai problème et produire un executable ocaml, l'interface ne semble rien indiquer.
merci de m'éclairer sur la méthode à suivre...
Yann:?
Version imprimable
jusqu'ici, je m'amusais avec caml light! tres bien pour mes besoins.
je voudrais attaquer un vrai problème et produire un executable ocaml, l'interface ne semble rien indiquer.
merci de m'éclairer sur la méthode à suivre...
Yann:?
Bonjour !
Pour produire un exécutable OCaml à partir du fichier foo.ml :
- Bytecode : ocamlc foo.ml -o foo.exe
- Code natif: ocamlopt foo.ml -o foo.exe
Ces commandes sont à compléter avec d'éventuelles options, en fonction de ce que tu utilises dans ton code. Pour cela, je t'invite à consulter à documentation ici et ici.
Cordialement,
Cacophrène
Ocamlopt FTW
c'est bien plus rapide en natif qu'en byte :)
Salut !
C'est bien plus portable en byte qu'en natif. ;) À chaque job son outil.Citation:
Envoyé par kulssaka
Cordialement,
Cacophrène
De plus, la compilation est sensiblement plus rapide avec ocamlc. Pour des phases compilation/test fréquentes, on gagne du temps.
Haha je retiens ^^ c'est vrai que j'ai jamais mesurer le temps de compilation, j'avais juste mesurer le temps d'execution sur un bon petit fibonacci ^^
Merci :ccool:
Si tu veux parler de OCamlWin je te déconseille vivement de l'utiliser:Citation:
je voudrais attaquer un vrai problème et produire un executable ocaml, l'interface ne semble rien indiquer.
- c'est buggué ça plante :aie:
- même si ça ne plante pas il y a un problème de buffer qui fait qu'il ne voit pas toujours ton nouveau code, il continue de t'imprimer le même message d'erreur même quand ton code est corrigé (donc c'est l'enfer pour le débutant)
- il existe d'autres versions ainsi qu'une variante OCamlWinPlus, pas la peine de les tester elles sont toutes aussi bugguées les unes que les autres
- l'alternative c'est Crimson Editor ou Notepad++ avec une bonne console
La compilation Windows en code natif se fait de préférence à l'aide de la version OCaml basé sur MinGW.
La procédure qui suit n'est valable que pour cette version.
OCaml natif MinGW for the dummies :
- assurez vous que vous avez bien installé OCaml 3.11 basé sur Mingw et pas une autre version
- il faut ensuite installer Mingw32 (http://www.mingw.org/) à l'aide de l'installateur automatique
- choisissez une installation minimale dans le répertoire C:\Program Files\MinGW
- n'installez ni MSYS ni Cygwin, c'est inutile
- lancez l'éditeur de registre regedit
- pour Windows XP pro, allez au répertoire
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment- sur une autre version de Windows le répertoire est éventuellement différent, dans tous les cas il y a un répertoire qui contient les variables d'environnement
- ajoutez C:\Program Files\MinGW\bin à la variable Path
- toujours dans le même répertoire, créez une nouvelle variable chaîne nommée FLEXLINKFLAGS
- assignez lui la valeur chaîne -nocygpath -L C:\progra~1\MinGW\lib
- décompressez l'archive de Flexlink dll qui permet le chargement de code dynamique
- copiez les fichiers flexlink.exe et flexdll_mingw.o dans le répertoire bin de OCaml
- rebootez Windows
- créez un fichier hello.ml
Code:print_endline "Hello ocamlopt!";
- ouvrez une console
- tapez la commande ocamlopt -o hello hello.ml
Avec une explication aussi détaillée, je ne pouvais que réussir... Microsoft, c'est un peu lourd à installer mais c'est confortable quand meme...merci, maintenant, je peux explorer la galaxie ocaml en plus de f#!
On pourrait sans doute diminuer le nombre de manips à l'aide d'un fichier .reg qu'on fusionnerait avec le registre mais ça ne fonctionne pas sous mon XP pro alors que ça va très bien sous Win98 où l'accès au registre est moins protégé.
S'il-te-plait change le titre en [ocaml][windows] comment compiler en code natif, parce que c'est une question qui revient et pour laquelle la réponse complète n'est trouvable nulle par ailleurs.
pour tous:
pour vos questions installation [O]Caml précisez toujours [windows][linux][mac ppc][mac intel].
Pour compiler les exemples LablGtk en natif sous Windows
set FLEXLINKFLAGS=-nocygpath -subsystem windows -L C:\MinGW\lib
ocamlopt -ccopt "-LC:\GTK\lib" -I +lablgtk2 lablgtk.cmxa gtkInit.cmx testgtk.ml -o testgtk.exe
Modifier les chemins en fonction de votre configuration
-subsystem windows supprime la fenetre Cmd.exe