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 :

[OCaml Makefile] Problème avec les modules


Sujet :

Caml

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 48
    Points : 22
    Points
    22
    Par défaut [OCaml Makefile] Problème avec les modules
    Bonsoir,

    j'ai un petit soucis avec mon Makefile, le compilo m'affiche une erreur lorsque je compile "could not find the .cmi file for interface src/monfichier.mli".
    Je détaille, j'ai mon dossier avec dedans mon Makefile et un sous dossier src contenant toutes mes sources (*.ml et *.mli).
    Voici ma règle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    rule: src/ensemble.cmx src/main.cmx
    (tab) ocamlopt -o monbinaire src/ensemble.cmx src/main.cmx
     
    # Dependance
     
    src/ensemble.cmx: src/ensemble.cmi
    src/main.cmx: src/main.cmi
     
    # Regles generiques
     
    .SUFFIXES: .ml .mli .cmx .cmi
     
    .ml.cmx:
    (tab) ocamlopt -c $<
     
    .mli.cmi:
    (tab) ocamlc -c $<
    En gros, je veux compiler mon module main qui dépend du module ensemble.
    Et ce qui est bizarre c'est que lorsque je mets le Makefile dans le même dossier que les sources et donc en enlevant tous les "src/" du Makefile, cela marche sans problème. Donc à mon avis, l'erreur vient de la règle générique .mli.cmi qui ne "voit" pas le sous dossier "src" mais je ne vois pas comment le régler. J'espère être assez clair

    Merci d'avance !

  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
    Salut !

    Citation Envoyé par topgun1223
    ce qui est bizarre c'est que lorsque je mets le Makefile dans le même dossier que les sources et donc en enlevant tous les "src/" du Makefile, cela marche sans problème
    Tu peux essayer d'ajouter -I src (i majuscule) dans les lignes de compilation. De cette façon OCaml ira chercher les fichiers dans ce répertoire.

    Cordialement,
    Cacophrène

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 48
    Points : 22
    Points
    22
    Par défaut
    Ah mais oui, je n'y avais pas pensé, merci !
    Par contre, apaprement cette option ne marche pas avec OCamldep, j'ai eu du mal à le comprendre

  4. #4
    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
    Re,

    Si ton projet est assez conséquent et que l'utilisation d'un makefile est à l'origine de problèmes répétés (d'ailleurs souvent peu intéressants puisque sans rapport avec le projet lui-même), tu peux jeter un œil à ocamlbuild. Cet outil devient même très commode quand on a des fichiers ocamllex/ocamlyacc, des fichiers à préprocesser avec camlp4, des modules à regrouper avec -pack, etc.

    Par contre pour un petit projet (quelques modules) ce n'est peut-être pas nécessaire.

    Cordialement,
    Cacophrène

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 48
    Points : 22
    Points
    22
    Par défaut
    Okok, merci du conseil, c'est noté
    Là c'était pour un petit projet, donc un makefile a très bien fait l'affaire.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/01/2013, 13h29
  2. problème avec les modules
    Par aziza_1989 dans le forum Zend Framework
    Réponses: 4
    Dernier message: 12/07/2012, 23h26
  3. [InstallShield]Problème avec les merge module
    Par dm38 dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 03/03/2010, 14h28
  4. [OCaml] Petit problème avec les sockets
    Par Fractal LLG dans le forum Caml
    Réponses: 3
    Dernier message: 28/02/2008, 12h18
  5. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

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