Eclipse, problème de dépendance en C++

Eclipse, problème de dépendance en C++ - C++ - Programmation

Marsh Posté le 03-02-2006 à 18:40:17    

Bonjour,
j'ai un problème sous eclipse avec le plugin C/C++. J'utilise le compilateur de mingw.
J'ai deux projets : une librairie et un executable qui se sert de la librairie, tous les deux ont des makefile générés automatiquement.
J'ai bien coché la case de la librairie dans les propriétés de l'executable, dans project references, et pourtant le compilateur ne prend pas en compte les classes définies dans la librairie pour compiler l'executable. On est tout de même pas obligé de mettre les fichiers de la librairie dans le répértoire de l'executable pour que ça marche ?
 
Il a généré le makefile automatiquement et ajouté cette ligne dans le makefile de l'executable :
 
dependents:
 -cd C:/librairie/Debug && $(MAKE) clean all


Message édité par kenichi le 03-02-2006 à 19:00:47
Reply

Marsh Posté le 03-02-2006 à 18:40:17   

Reply

Marsh Posté le 03-02-2006 à 20:51:13    

Deux petites questions :
- Librairie statique ou dynamique ?
- Pourrais-tu poster la ligne du link ?

Reply

Marsh Posté le 06-02-2006 à 11:43:29    

jojolepingouin a écrit :

Deux petites questions :
- Librairie statique ou dynamique ?
- Pourrais-tu poster la ligne du link ?


 
La librairie est dynamique mais j'ai aussi essayé en statique. Voici toute la partie importante du makefile :
 

Code :
  1. # All Target
  2. all: executable.exe
  3. dependents:
  4. -cd C:/librairie/Debug && $(MAKE) all
  5. # Tool invocations
  6. executable.exe: $(OBJS) $(USER_OBJS) C:/librairie/Debug/commonlib.dll
  7. @echo 'Building target: $@'
  8. @echo 'Invoking: GCC C++ Linker'
  9. @echo g++  -oexecutable.exe $(OBJS) $(USER_OBJS) $(LIBS)
  10. @g++  -oexecutable.exe $(OBJS) $(USER_OBJS) $(LIBS)
  11. @echo 'Finished building target: $@'
  12. @echo ' '


Message édité par kenichi le 06-02-2006 à 11:43:54
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed