Bonjours (ou bonsoir) à tous !
Je suis en train de m'atteller à la création d'un jeu vidéo qui dois me rendre riche célèbre, et puissant (ou pas... ^^ ) mais j'ai un petit soucis :
Voila, j'ai mon code, largement inspiré du magnifique tuto de Pierre Schwartz, et je me suis dit : "pour tester mes fonctions, je vais faire une console OutGame, qui seras appelée avec le paramètre --console"
J'implémente, et puis je tombe sur un os : quand je lance ma console, ça bloque tout le reste :
Je pense donc tout de suite aux threads, pour avoir des actions en parallèle, donc, dans le constructeur de mon OutGameConsole, je met le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Game::Game(int argc, char** argv) { bool pass = false; for(int i = 0; i < argc; i++){ if(argv[i] == "--console"){ pass = true; } } m_listeEngines["game"] = new Game_engine(this, pass); m_listeEngines["graphics"] = new Graphics_engine(this, pass); m_listeEngines["sound"] = new Sound_engine(this, pass); still_running = true; if(pass){ OutGameConsole(this); } }
Mais voila : mon compilateur ne l'entendant pas de cette oreille, j'ai eu droit à tout plein d'insultes...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 OutGameConsole::OutGameConsole(Game* parent) : Console(parent) { boost::thread runThread = boost::thread(boost::bind(&OutGameConsole::run, this)); } void OutGameConsole::run(){ //La boucle avec les commandes }
Les voici :
undefined reference to `__imp___ZN5boost6threadD1Ev'
undefined reference to `__imp___ZN5boost6thread12start_threadEv'
J'ai linké libboost_thread, libboost_date_time et libboost_system, mais rien ne marche...
Quelqu'un aurait il une solution à mon problème ?
Merci d'avance
Jet
Partager