Forum Linux.général parseur

Posté par  .
Étiquettes : aucune
0
26
mar.
2006
bonjour,
j'essais de compiler un parseur vhdl avec l'outil flex++ et bison++(je veux que le programme génère des fichier c++)
le problème c'est que en compilant (à l'edition de lien),le message d'erreur suivant est généré:
vhdl.tab.o(.text+0x481): In function `yyparse()':
/work/vhdl_parser3/vhdl.tab.c++:2195: undefined reference to `yylex()'
merci pour votre aide
  • # -l qqchose

    Posté par  (site web personnel) . Évalué à 1.

    Salut,
    ajoute -llex ou -lflex à ta commande gcc. Là il ne trouve pas la libraire qui correspond à flex++. Si tu mets -llex par exemple, il cherche dans /usr/lib ou /usr/local/lib ou autre le fichier liblex
    • [^] # Re: -l qqchose

      Posté par  . Évalué à 1.

      bonjour,
      merci pour ton aide
      mais voilà le makefile que je l'utilise et même problème existe encore:
      CC=gcc
      CFLAGS= -g
      LDFLAGS=-lfl -lm -lstdc++

      YACC= bison
      YFLAGS=-d -v -t
      #YFLAGS=

      LEX=flex

      OBJS=vhdl.tab.o lex.yy.o main.o
      all: fparse

      fparse: $(OBJS)
      $(CC) -o fparse $(CFLAGS) $(OBJS) $(LDFLAGS)

      vhdl.tab.o: vhdl.tab.c++ vhdl.tab.h++
      $(CC) -c $(CFLAGS) vhdl.tab.c++

      vhdl.tab.c++ vhdl.tab.h++: vhdl.y++
      $(YACC) $(YFLAGS) vhdl.y++ -o vhdl.tab.c++

      lex.yy.o: lex.yy.cc vhdl.tab.h++
      $(CC) -c $(CFLAGS) lex.yy.cc

      lex.yy.cc: vhdl.lex
      $(LEX) -+ vhdl.lex

      main.o: main.c++
      $(CC) -c $(CFLAGS) main.c++

      clean:
      rm -f $(OBJS) core y.* lex.yy.? fparse



      y a t'il de problème dans ce fichier?
      • [^] # Re: -l qqchose

        Posté par  (site web personnel) . Évalué à 1.

        y a peut être un -l spécifique à flex++, regarde dans les dossiers de libs... Je peux pas t'aider plus, il est pas installé sur ma machine. Bonne chance

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.