Bonjour tout le monde,
J'ai un problème d'architecture. C'est le suivant :
- j'ai une classe A -> je généré une bibliothèque A
- J'ai une classe B qui génère une bibliothèque B et qui utilise la bibliothèque A.
J'aimerais fournir à un client une bibliothèque B qu'il puisse utiliser juste avec le header de B.
Est-ce possible dans le cas suivant (ClasseA.h, ClasseA.cpp, ClasseB.h, ClasseB.cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #pragma once namespace NameSpaceA { class ClasseA { public: ClasseA(); ~ClasseA(); }; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include "stdafx.h" #include "ClasseA.h" namespace NameSpaceA { ClasseA::ClasseA(){} ClasseA::~ClasseA(){} }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #pragma once using namespace NameSpaceA; namespace NameSpaceB { class ClasseB { public: ClasseB(); ~ClasseB(); ClasseA test(void); }; }Dans ce cas précis, j'arrive à générer les .lib. Cependant lors de l'utilisation de la librairie B dans un programme quelconque
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include "stdafx.h" #include "../ClasseA/ClasseA.h" #include "ClasseB.h" using namespace NameSpaceA; namespace NameSpaceB { ClasseB::ClasseB(){} ClasseB::~ClasseB(){} ClasseA ClasseB::test(void) {return ClasseA();} }
la compilation ne se réalise pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 int main() { ClasseB(); std::cout << "Hello World!\n"; }
Comment est -ce que je peux générer un {ClasseB.h , ClasseB.lib] autosuffisant ?
Partager