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

  • Votes
  • Date
  • Date décroissante
  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
    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
      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
    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 ?
      1. K je te redis ca lundi car la, le boulot c fini lol
        ciao

        )=>Soyez écolo, recyclez vos posts après usage
        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
      2. merci beaucoup ca m'a bien aidé

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