Bonsoir,
Ca fait un petit moment que je cherche, et je ne vois pas ce qui ne va pas.
Lorsque je compile le programme j'obtiens :
Je vais voir la ligne 82 (ici ligne 19) de screen_wait.cpp et je lis :[ 30%] Building CXX object CMakeFiles/tuxworld.dir/src/game/screen_wait.cpp.o
/home/lydia/tuxw_svn6/tuxworld/src/game/screen_wait.cpp: In function ‘void screen_wait(s_game&, SDL_Event&, bool, std::string&, const float&, const int&, const bool&)’:
/home/lydia/tuxw_svn6/tuxworld/src/game/screen_wait.cpp:82:25: erreur: ‘class CAnimation’ has no member named ‘show_kinect’
make[2]: *** [CMakeFiles/tuxworld.dir/src/game/screen_wait.cpp.o] Erreur 1
make[1]: *** [CMakeFiles/tuxworld.dir/all] Erreur 2
make: *** [all] Erreur 2
Mon include #include"animation.h" est bien présent dans screen_wait.h.
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 #if KINECT_COMP == 1 if(game.kinect) if(show_bk) { // we lock the thread data_kinect.th->lock(); // recover the squeleton skl = data_kinect.squel; // unlock the thread data_kinect.th->unlock(); // draw the hand_cursor glPushMatrix(); glTranslatef((SIZE_TEXTURE_W_MAX / 2 - CAM_W / 2) * game.coef_resol, (SIZE_TEXTURE_H_MAX / 2 - CAM_H / 2) * game.coef_resol, 0); hand_cursor.object_move(skl.hand0.x, skl.hand0.y); hand_cursor.show_kinect(NO_LOOP, false, 1, .4f); glPopMatrix(); // draw stars buttons kin_button.draw(SIZE_TEXTURE_W_MAX / 2 - CAM_W / 2, SIZE_TEXTURE_H_MAX / 2 - CAM_H / 2 + CAM_H - 100, -.3); // test hands on stars button if(kin_button.select(SIZE_TEXTURE_W_MAX / 2 - CAM_W / 2 + skl.hand0.x, SIZE_TEXTURE_H_MAX / 2 - CAM_H / 2 + skl.hand0.y)) --ready; else ready = 40; if(!ready && !stage_screen) { stage_screen = true; ++i; } } #endif
dans mon animation.h j'ai bien
et mon animation.cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #if KINECT_COMP == 1 // show without scale for kinect void show_kinect(const int& loop_type, const bool& orientation, const int& step, const float& deep); #endif
C'est depuis que j'ai rajouté ce #if KINECT_COMP == 1 que ça a du mal à passer. Je compile avec KINECT_COMP valant 1. Les autres classes faisant appel à show_kinect passent bien, sauf ce screen_wait, trop bizarre ! Merci d'avance ça fait 2 h que suis dessus.
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 #if KINECT_COMP == 1 void CAnimation::show_kinect(const int& type_anim, const bool& orientation, const int& step, const float& deep) { if(seq) // we show the surface with id = cursor Vimages.at(seq[cursor])->show_GL_kinect(orientation, object_properties(), deep, slide_blk); else // we show the surface with a normal seq (1, 2, 3, 4, 5, ...) Vimages.at(cursor)->show_GL_kinect(orientation, object_properties(), deep, slide_blk); // increment animation pass(type_anim, step); } #endif
Partager