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.
# 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.