IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Caml Discussion :

Comment compiler un prog pour pouvoir le lire sans installer Ocaml


Sujet :

Caml

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 29
    Points : 13
    Points
    13
    Par défaut Comment compiler un prog pour pouvoir le lire sans installer Ocaml
    Bonjour,

    Voilà je voudrais savoir comment compiler un programme sous Ocaml de façon à ce qu'il soit exécutable à partir de n'importe quelle machine (c'est à dire sans installer ocaml avant)

    Pour compiler en ce moment j'utilise "ocamlc -o le_truc_a_compiler.exe le_truc_a_compiler.ml" Mais si j'essaye de lancer ce prog sur un ordi n'ayant pas ocaml j'ai une erreur du type "couldn't open Ocaml"

    j'ai entendu parlais de l'option -custom mais comment s'en servir ? Comme ça "ocamlc -o le_truc_a_compiler.exe le_truc_a_compiler.ml -custom" ?

    PS : je suis sous windows mais pourriez vous me donnez aussi la solution pour linux (je sais qu'il faut remplacer les .exe par des .bin je crois)


    Merci

  2. #2
    Membre éprouvé
    Avatar de Cacophrene
    Homme Profil pro
    Biologiste
    Inscrit en
    Janvier 2009
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Biologiste

    Informations forums :
    Inscription : Janvier 2009
    Messages : 535
    Points : 1 125
    Points
    1 125
    Par défaut
    Bonsoir,

    Veux-tu que ton programme soit exécutable sur n'importe quelle machine équipée de n'importe quel système d'exploitation (OS) ou seulement sur des machines équipées d'un même système mais ne possédant pas nécessairement une installation d'OCaml ?

    Pour lancer une application OCaml sur n'importe quelle machine avec un système d'exploitation donné, sans avoir besoin d'une installation OCaml, il suffit de compiler en code machine avec ocamlopt. L'exécutable produit ne dépend plus de l'installation d'OCaml, et s'exécute convenablement sur toutes les machines équipées du même système d'exploitation.

    Si tu veux en outre que cette application soit également OS-portable, c'est-à-dire capable de fonctionner indifféremment sous Microsoft Windows, GNU/Linux et d'autres, le code machine ne convient pas. Dans ce cas, il faut effectivement produire du bytecode avec l'option -custom. S'agissant d'une option, tu l'utilises comme toutes les autres dans une ligne de commande.

    PS : je suis sous windows mais pourriez vous me donnez aussi la solution pour linux (je sais qu'il faut remplacer les .exe par des .bin je crois)
    Contrairement à Microsoft Windows (au moins les versions que j'ai pu tester), le système GNU/Linux n'accorde guère d'importance sémantique aux extensions. C'est le type MIME qui compte plus que l'extension. Pour les exe, aucune extension n'est requise.

    Cordialement,
    Cacophrène

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Bonsoir Cacophrene,

    Merci pour ta réponse alors j'ai essayé les deux techniques, ce que je cherche serait en faite un mix des deux c'est-à-dire sur n'importe quel OS et sans l'installation de Ocaml...

    Mais voilà j'ai quelque soucis je t'ai fait 2 screenshots qui sont en pièces jointes, j'ai souligné la fin qui me semble important (les Warning sont du au faite que je fait appel à read_line() sans me servir de ce qu'écrit l'utilisateur afin de faire une "transition").

    Pour le moment j'ai pas encore testé sur d'autres machines mais je pense que je dois faire un truc de travers.....

    Merci de vos réponses

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Points : 146
    Points
    146
    Par défaut
    "n'importe quel OS et sans l'installation de Ocaml" ce n'est pas possible il faut choisir.

    Il faut que tu saches que si on a inventé le bytecode (très connu avec Java) c'est justement pour réaliser des programmes que l'on pourrait exécuter sur n'importe quel OS, mais il y a évidemment une contrepartie il faut que l'interpréteur pour le bytecode soit installé sur la machine cible (comme avec Java).

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Ok je comprends, ça aurait été trop beau....


    Pour les OS, si je privilégies windows mon programme pourra tourner sur tout les windows ou non ? (par exemple je suis sous seven, il pourra tourner sous xp ?).

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Points : 146
    Points
    146
    Par défaut
    Je ne sais pas, je ne connais pas Windows j'utilise Linux. Mais toi tu le sais peut-être, quand tu récupères un programme pour ton OS est-ce qu'on te propose des versions différentes pour les différentes version de Windows ?

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Points : 146
    Points
    146
    Par défaut
    Sinon pour le message d'erreur qui indique que la commande 'as' n'est pas trouvée, il s'agit en fait de l'assembleur, c'est à dire le programme qui convertit le code assembleur en code machine.
    Sous Linux c'est la même chose ocamlopt ne produit que du code assembleur et délègue la conversion en code machine à gas (GNU/as), si tu es curieux tu peux voir le code assembleur pour voir à quoi ça ressemble avec la commande ocamlopt -S. Pour en revenir à ton problème je ne sais pas quel assembleur tu dois installer mais j'imagine que ça doit être écrit dans la doc.

    Sinon en mettant Gogole à contribution, je trouve ceci : http://www.developpez.net/forums/d69...windows-ocaml/

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    ok merci beaucoup je vais me renseigner alors ^^

    Edit 1 : Ben merci beaucoup encore une fois, tu m'évites même des recherches sur google, j'essaye ça de suite et de dit si il y a encore ce message d'erreur

    Merci

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Points : 146
    Points
    146
    Par défaut
    en cherchant [ flexlink ocaml ] sur GG je trouve ceci (descendre jusqu'au message de SpiceGuid) :
    http://www.developpez.net/forums/d83...er-executable/

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup pour ton aide, bon je crois que je vais réparer ma partition linux (quelques petits pb en ce moment) et je ne programmerais que sous linux.

    Parce que en faite c'est bon j'ai fait tout ce qu'il est ecrit sauf que maintenant c'est le fichier "libws2_32" qui ne peut pas être trouvé.....

    Donc je reprendrais tout ça demain

    Merci une nouvelle fois de ton aide et passes une bonne fin de soirée

    Edit : c'est bon j'ai trouvé :
    alors en faite ce fichier "libws2_32" est un fichier qui se trouve dans la libraire de MinGW (/MinGW/lib/) est en faite ce que j'ai fait c'est que je l'ai copié dans la librairie de Ocaml, bon après il vous dit qu'il y a encore un probleme avec un autre fichier et encore une autre donc au bout d'un (court) moment j'ai copié toute la libraiie de MinGW et je l'ai mise dans celle de ocaml et maintenant tout va bien

    Merci encore pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/01/2011, 09h14
  2. Comment développer un prog pour téléphone?
    Par Claudio34 dans le forum Mobiles
    Réponses: 1
    Dernier message: 05/01/2009, 10h02
  3. Réponses: 7
    Dernier message: 30/04/2007, 08h11
  4. Réponses: 3
    Dernier message: 09/02/2007, 11h31
  5. Comment compiler un prog Gtk sous Debian ?
    Par GLDavid dans le forum GTK+
    Réponses: 3
    Dernier message: 25/06/2004, 19h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo