G++ est les variables non reconnues
Bonsoir
J'ai un petit soucis de débutant ;) avec g++.
Etant donné les quatre fichiers suivants:
1 - Fichier: a.hpp
Code:
1 2 3 4 5 6 7 8 9
|
#ifndef a_hpp
#define a_hpp
namespace foo
{
void a();}
#endif |
2 - Fichier: a.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11
| #include "a.hpp"
#include <iostream>
namespace foo
{
static const m = 100;
void a()
{
std::cout << m << std::endl;
}
} |
3 - Fichier: b.hpp
Code:
1 2 3 4 5 6 7 8 9 10
|
#ifndef b_hpp
#define b_hpp
namespace foo
{
void b();
}
#endif |
4 - Fichier: b.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
#include "a.hpp"
#include "b.hpp"
#include <iostream>
namespace foo
{
void b()
{
std::cout << m << std::endl;
}
} |
La commande g++ -c a.cpp génère un a.o (parfait).
Par contre quand je lance la commande g++ -c b.cpp le compilateur ne reconnait pas la variable m.
De ce fait ma question est double:- pourquoi m n'est pas reconnue ?
- quelle commande g++ lancer pour pouvoir générer un b.o étant donné les fichiers précédent (sans changer le code) ?
Merci d'avance