Problème de compilation sous linux

Bonjour tt le monde,
Je suis sous linux et je veux utiliser le programme mpgwrite sous Matlab. Mon probleme est que je n'arrive pas à le compiler. Voici la composition du makefile:

#If .mexrc.sh has not been modified for your ANSI compiler, uncomment
# the following two lines if you use GCC. Modify for you ownr ANSI
# compiler if different:
MCC = CC=gcc
MCFLAGS = CFLAGS=-ansi

mpgread:
mex $(MCC) $(MCFLAGS) mpgwrite.c mfwddct.c \
postdct.c huff.c bitio.c mheaders.c iframe.c \
pframe.c bframe.c psearch.c bsearch.c block.c \
mpeg.c subsampl.c jrevdct.c frame.c fsize.c

Lorsque je lance make (pgrme autoexécutable) dans ma console, voila le resultat:

mex CC=gcc CFLAGS=-ansi mpgwrite.c mfwddct.c \
postdct.c huff.c bitio.c mheaders.c iframe.c \
pframe.c bframe.c psearch.c bsearch.c block.c \
mpeg.c subsampl.c jrevdct.c frame.c fsize.c
make: mex : commande introuvable
make: *** [mpgread] Erreur 127


Que dois-je faire alors?
Je ne suis pas un pro de la compil..lol...

)=>Soyez écolo, recyclez vos posts après usage

5 réponses

  1. Contributeur
    bonjour,

    Apparement il te dit :
    make: mex : commande introuvable
    donc il ne trouve pas la commande mex ...

    il faudrait peut etre que tu remplaces mex par ../bin/src/mex (le path ou se trouve la commande mex).

    Voila.

    Ceci est une idée je connais pas Matlab...

    bno courage !

    JSS
    0
    1. oui c'est vrai , j'ai pensé à ca juste après avoir écris ce post. J'ai essayé avec le chemin où se trouve l'outil mex de matlab mais rien à faire. J'ai aussi ces fichiers là et je ne connais pas ce type d'extention:
      file:/usr/home/nbalod/mpgwrite/mpgwrite.mexaxp
      file:/usr/home/nbalod/mpgwrite/mpgwrite.mexglx
      file:/usr/home/nbalod/mpgwrite/mpgwrite.mexlx
      file:/usr/home/nbalod/mpgwrite/mpgwrite.mexsg
      file:/usr/home/nbalod/mpgwrite/mpgwrite.mexsg64
      file:/usr/home/nbalod/mpgwrite/mpgwrite.mexsol
      file:/usr/home/nbalod/mpgwrite/mpgwrite.mex4
      file:/usr/home/nbalod/mpgwrite/mpgwrite.mexhp7
      file:/usr/home/nbalod/mpgwrite/mpgwrite.mexhpux
      file:/usr/home/nbalod/mpgwrite/mpgwrite.mexrs6


      )=>Soyez écolo, recyclez vos posts après usage
      0
      1. Contributeur
        désolé j'ai pas d'autres idées ...

        tes fichiers je sais pas du tout ce que c'est ...

        Bon courage !

        cela dit une idée quand meme : avant de le faire en makefile essaie de le lancer en ligne de commande ...

        JSS
        0
    2. Hello !

      Tape :

      which mex

      pour savoir si le système sait accéder à la commande.
      Sinon, essaie une recherche :

      find / -name "mex"

      Qu'est-ce que ça donne ?
      0
      1. K je te redis ca lundi car la, le boulot c fini lol
        ciao

        )=>Soyez écolo, recyclez vos posts après usage
        0
        1. hello,
          j'ai également eu le même problème
          je crois qu'il peut s'agir d'un problème avec des variables d'environnement qui sont écrasées du fait d'une nouvelle affectation dans Makefile
          Voici mon makefile avant
          #Makefile

          CC=gcc
          EXEC = gradientconjugue
          DEBUG = --enable-checking -g -o0 -Q -v -da
          PATH = -I ../include/
          all: $(EXEC)

          gradientconjugue: gradientconjugue.o
          $(CC) -Wall $(PATH) $(DEBUG) -o gc gradientconjugue.o
          strip gc

          .c.o:
          $(CC) -c $<

          clean:
          @ rm -f *.o

          avec l'erreur suivante

          gcc -c gradientconjugue.c
          make: gcc : commande introuvable
          make: *** [gradientconjugue.o] Erreur 127

          Problème où je remplace la variable d'environnment PATH
          En modifiant PATH par FILEPATH je compile à nouveau...

          Courage
          Antonin dw
          0
      2. merci beaucoup ca m'a bien aidé

        "Un con debout va toujours plus loin que deux intello assis
        -1