Bonjour,
J'ai à peu près le même problème.
Deux projets Eclipse:
1 une bibliothèque partagée C++
2 un exécutable
L'exécutable utilise la bibliothèque et ses fichiers headers
Mon code:
#include "mylib.h" // ou #include <mylib.h>
using namespace mylib;
main ...
{
..
Object1 o = new Object1();
}
J'utilise CDT sous Linux avec les auto-tools Linux.
Le problème est de faire prendre en compte le chemin de sources et d'exécutables de la bibliothèque "mylib" par le projet exécutable, pour la compilation et l'exécution.
Forum Programmation.c++ C++: CDT et auto-tools sous Linux
21
oct.
2010
# Un café
Posté par fog2100 . Évalué à 1.
[^] # Re: Un café
Posté par fog2100 . Évalué à 1.
changer dans le MAKEFILE:
CPPFLAGS =
en
CPPFLAGS = -I chemin/vers/headersC++ -L chemin/vers/blibliothèqueC++
et dans le main:
Object1 o = new Object1();
en
Object1 o();
[^] # Re: Un café
Posté par fog2100 . Évalué à 1.
[^] # Re: Un café
Posté par Mathias Bavay (site web personnel) . Évalué à 1.
LIBS = -lmylib
INCLUDES = -L/path/to/mylib
LDFLAGS = $(INCLUDES) $(LIBS)
Et il ne faut effectivement pas faire ces modifs dans le Makefile mais tu peux les mettre dans le Makefile.in (à condition que celui-ci ne soit pas ré-généré à chaque fois). Sinon, ce sera dans le Makefile.am (que je n'ai jamais utilisé, je me fait mon Makefile.in à la main et configure génère le Makefile)
Mathias
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.