Bonjour à tous,
j'ai une question à laquelle je n'ai jamais trouvé de réponse et qui me taraude toujours. Ou bien j'ai oublié. Ou ils sentaient pas bon. Enfin ils veulent pas :]
Alors on est sous Windows, avec visual studio (peu importe la version).
On a une solution avec 2 projets.
Le premier projet est une bibliothèque statique. Cette bibliothèque utilise une bibliotèque externe, par exemple boost.
Le deuxième projet est un exécutable qui utilise la bibliothèque du premier projet.
Un des en-tête de la lib du premier projet inclus un en-tête de boost. Par exemple:
1 2 3 4 5 6 7 8 9 10
| // fichier UneClasseDeLaLib.h
#ifndef UNECLASSEDELALIB_H
#define UNECLASSEDELALIB_H
#include <boost/date_time/posix_time/posix_time.hpp>
class UneClasseDeLaLib
{
//etc. |
et dans le projet exécutable, quelque part on a un
#include "UneClasseDeLaLib.h"
L'exécutable du 2eme projet n'est pas sensé connaitre boost lui. Lui en s'en fiche de boost, il n'en a pas besoin directement. Donc il ne link pas boost ni n'est configuré pour savoir où sont les .h de boost.
Mais ça ne marche pas. A la compilation de l'exécutable, le compilateur me donne une erreur disant qu'il ne trouve pas le fichier boost/date_time/posix_time/posix_time.hpp
Comment faire pour éviter d'avoir à configurer le projet de l'exécutable pour boost?
Partager