Build TGUI 0.7.3 on Debian 8.6 fails - has no member named... is not a member...

Started by killa-pixel, 20 February 2017, 21:02:27

killa-pixel

Hey,

im trying to build TGUI 0.7.3 downloaded from https://github.com/texus/TGUI/archive/0.7.3.zip 

Im using gcc 4.9.2 on Debian 8.6
sfml installed from repo:
libsfml-dev - 2.1+dfsg2-1+b2

Output of cmake looks fine but make will first build some targets and then fail to build Container.cpp.o because of references to non existing members.

‘class sf::Event’ has no member named ‘touch’
‘TouchBegan’ is not a member of ‘sf::Event’

Any suggestions?


user@system:~/Downloads/TGUI-0.7.3$ make
Scanning dependencies of target tgui
[  1%] Building CXX object src/TGUI/CMakeFiles/tgui.dir/Animation.cpp.o
[  3%] Building CXX object src/TGUI/CMakeFiles/tgui.dir/BoxLayout.cpp.o
[  5%] Building CXX object src/TGUI/CMakeFiles/tgui.dir/Clipboard.cpp.o
[  7%] Building CXX object src/TGUI/CMakeFiles/tgui.dir/Color.cpp.o
[  9%] Building CXX object src/TGUI/CMakeFiles/tgui.dir/Container.cpp.o
/home/user/Downloads/TGUI-0.7.3/src/TGUI/Container.cpp: In member function ‘bool tgui::Container::handleEvent(sf::Event&)’:
/home/user/Downloads/TGUI-0.7.3/src/TGUI/Container.cpp:658:70: error: ‘TouchMoved’ is not a member of ‘sf::Event’
         if ((event.type == sf::Event::MouseMoved) || ((event.type == sf::Event::TouchMoved) && (event.touch.finger == 0)))
                                                                      ^
/home/user/Downloads/TGUI-0.7.3/src/TGUI/Container.cpp:658:103: error: ‘class sf::Event’ has no member named ‘touch’
         if ((event.type == sf::Event::MouseMoved) || ((event.type == sf::Event::TouchMoved) && (event.touch.finger == 0)))
                                                                                                       ^
/home/user/Downloads/TGUI-0.7.3/src/TGUI/Container.cpp:660:133: error: ‘class sf::Event’ has no member named ‘touch’
             float mouseX = (event.type == sf::Event::MouseMoved) ? static_cast<float>(event.mouseMove.x) : static_cast<float>(event.touch.x);
                                                                                                                                     ^
/home/user/Downloads/TGUI-0.7.3/src/TGUI/Container.cpp:661:133: error: ‘class sf::Event’ has no member named ‘touch’
             float mouseY = (event.type == sf::Event::MouseMoved) ? static_cast<float>(event.mouseMove.y) : static_cast<float>(event.touch.y);
                                                                                                                                     ^
/home/user/Downloads/TGUI-0.7.3/src/TGUI/Container.cpp:692:34: error: ‘TouchBegan’ is not a member of ‘sf::Event’
               || ((event.type == sf::Event::TouchBegan) && (event.touch.finger == 0)))
                                  ^
/home/user/Downloads/TGUI-0.7.3/src/TGUI/Container.cpp:692:67: error: ‘class sf::Event’ has no member named ‘touch’
               || ((event.type == sf::Event::TouchBegan) && (event.touch.finger == 0)))
                                                                   ^
/home/user/Downloads/TGUI-0.7.3/src/TGUI/Container.cpp:694:143: error: ‘class sf::Event’ has no member named ‘touch’
             float mouseX = (event.type == sf::Event::MouseButtonPressed) ? static_cast<float>(event.mouseButton.x) : static_cast<float>(event.touch.x);
                                                                                                                                               ^
/home/user/Downloads/TGUI-0.7.3/src/TGUI/Container.cpp:695:143: error: ‘class sf::Event’ has no member named ‘touch’
             float mouseY = (event.type == sf::Event::MouseButtonPressed) ? static_cast<float>(event.mouseButton.y) : static_cast<float>(event.touch.y);
                                                                                                                                               ^
/home/user/Downloads/TGUI-0.7.3/src/TGUI/Container.cpp:727:34: error: ‘TouchEnded’ is not a member of ‘sf::Event’
               || ((event.type == sf::Event::TouchEnded) && (event.touch.finger == 0)))
                                  ^
/home/user/Downloads/TGUI-0.7.3/src/TGUI/Container.cpp:727:67: error: ‘class sf::Event’ has no member named ‘touch’
               || ((event.type == sf::Event::TouchEnded) && (event.touch.finger == 0)))
                                                                   ^
/home/user/Downloads/TGUI-0.7.3/src/TGUI/Container.cpp:729:144: error: ‘class sf::Event’ has no member named ‘touch’
             float mouseX = (event.type == sf::Event::MouseButtonReleased) ? static_cast<float>(event.mouseButton.x) : static_cast<float>(event.touch.x);
                                                                                                                                                ^
/home/user/Downloads/TGUI-0.7.3/src/TGUI/Container.cpp:730:144: error: ‘class sf::Event’ has no member named ‘touch’
             float mouseY = (event.type == sf::Event::MouseButtonReleased) ? static_cast<float>(event.mouseButton.y) : static_cast<float>(event.touch.y);
                                                                                                                                                ^
/home/user/Downloads/TGUI-0.7.3/src/TGUI/Container.cpp:820:5: warning: control reaches end of non-void function [-Wreturn-type]
     }
     ^
src/TGUI/CMakeFiles/tgui.dir/build.make:146: recipe for target 'src/TGUI/CMakeFiles/tgui.dir/Container.cpp.o' failed
make[2]: *** [src/TGUI/CMakeFiles/tgui.dir/Container.cpp.o] Error 1
CMakeFiles/Makefile2:75: recipe for target 'src/TGUI/CMakeFiles/tgui.dir/all' failed
make[1]: *** [src/TGUI/CMakeFiles/tgui.dir/all] Error 2
Makefile:117: recipe for target 'all' failed
make: *** [all] Error 2

texus

You will have to build SFML yourself, TGUI 0.7 requires at least SFML 2.2.
I didn't knew debian was still shipping with such an old sfml version, I assumed anyone would have at least 2.3 since that is what Ubuntu LTS ships.