SdkTrays.h missing in 1.9

Problems building or running the engine, queries about how to use features etc.
Post Reply
Rififi50
Gnoblar
Posts: 2
Joined: Sun Oct 30, 2016 2:27 am

SdkTrays.h missing in 1.9

Post by Rififi50 »

I am trying to compile the basic tutorial but I keep getting errors.
I am running Ubuntu and have OGRE installed using

Code: Select all

sudo apt-get install libogre-1.9-dev
. When I now try to compile the basic tutorial according to "Setting Up An Application" under Linux - Autotools, I get the error:

Code: Select all

In file included from BaseApplication.cpp:18:0:
BaseApplication.h:44:24: fatal error: SdkTrays.h: No such file or directory
compilation terminated.
I also don't find this file anywhere if I search for it.
Alternatively, I also previously installed version 1.10 (made sure I used the correct tutorial files for this version) by cloning it from bitbucket. Then it could find 'SdkTrays.h' but I had to modify that file in addition because the folder 'Overlay' was not properly linked in it. This in turn resulted in other errors in the 'BaseApplication.cpp' file (I don't remember what the exact errors were but it could not create certain objects (and yes, I made sure I used the correct tutorial file version)). Besides, 1.10 is an unstable version. I'd rather have a stable version.
Thanks in advance.
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: SdkTrays.h missing in 1.9

Post by frostbyte »

https://bitbucket.org/sinbad/ogre/src/1 ... SdkTrays.h
its in a separate project( sampleBrowser ), you need to enable it with cmake var named build_samples
1.10 is much much better than 1.9 :wink:
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
Rififi50
Gnoblar
Posts: 2
Joined: Sun Oct 30, 2016 2:27 am

Re: SdkTrays.h missing in 1.9

Post by Rififi50 »

So 'libogre-1.9-dev' just does not contain all the files necessary?

Either way, I now removed it and instead cloned the bitbucket (again) this time downgrading it to 1.9 using

Code: Select all

hg pull && hg update v1-9
I had to again update the 'SdkTrays.h' file because it did not properly link the Overlay folder. Doing so resulted in the following error when trying to set up the basic tutorial application:

Code: Select all

/usr/bin/ld: OgreApp-BaseApplication.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
//usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0: error adding symbols: DSO missing from command line
and none of what I found helped (http://www.ogre3d.org/forums/viewtopic.php?f=2&t=71037).
I went ahead and installed 1.10 again. Made sure I updated the basic tutorial files and had still to update 'SdkTrays.h' because it still does not properly link the Overlay folder. I came back to the error I had previously with 1.10:

Code: Select all

g++ -DHAVE_CONFIG_H -I.  -I.  -pthread -I/usr/local/include -I/usr/local/include/OGRE -I/usr/include/ois -g -O2 -MT OgreApp-BaseApplication.o -MD -MP -MF .deps/OgreApp-BaseApplication.Tpo -c -o OgreApp-BaseApplication.o `test -f 'BaseApplication.cpp' || echo './'`BaseApplication.cpp
BaseApplication.cpp: In member function ‘virtual bool BaseApplication::mouseMoved(const OIS::MouseEvent&)’:
BaseApplication.cpp:409:19: error: ‘class OgreBites::SdkTrayManager’ has no member named ‘injectMouseMove’
     if (mTrayMgr->injectMouseMove(arg)) return true;
                   ^
BaseApplication.cpp:410:17: error: ‘class OgreBites::SdkCameraMan’ has no member named ‘injectMouseMove’
     mCameraMan->injectMouseMove(arg);
                 ^
BaseApplication.cpp: In member function ‘virtual bool BaseApplication::mousePressed(const OIS::MouseEvent&, OIS::MouseButtonID)’:
BaseApplication.cpp:416:19: error: ‘class OgreBites::SdkTrayManager’ has no member named ‘injectMouseDown’
     if (mTrayMgr->injectMouseDown(arg, id)) return true;
                   ^
BaseApplication.cpp:417:17: error: ‘class OgreBites::SdkCameraMan’ has no member named ‘injectMouseDown’
     mCameraMan->injectMouseDown(arg, id);
                 ^
BaseApplication.cpp: In member function ‘virtual bool BaseApplication::mouseReleased(const OIS::MouseEvent&, OIS::MouseButtonID)’:
BaseApplication.cpp:423:19: error: ‘class OgreBites::SdkTrayManager’ has no member named ‘injectMouseUp’
     if (mTrayMgr->injectMouseUp(arg, id)) return true;
                   ^
BaseApplication.cpp:424:17: error: ‘class OgreBites::SdkCameraMan’ has no member named ‘injectMouseUp’
     mCameraMan->injectMouseUp(arg, id);
                 ^
Makefile:476: recipe for target 'OgreApp-BaseApplication.o' failed
I fixed this by going into 'BaseApplication.cpp' and changing

Code: Select all

409     if (mTrayMgr->injectMouseMove(arg)) return true;
410     mCameraMan->injectMouseMove(arg);
to

Code: Select all

409     if (mTrayMgr->injectPointerMove(arg)) return true;
410     mCameraMan->injectPointerMove(arg);
and also for the other cases 'Down' and 'Up'. This seems to have worked, however...

.. now I am at the same problem I had with 1.9:

Code: Select all

/usr/bin/ld: OgreApp-BaseApplication.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
//usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0: error adding symbols: DSO missing from command line
Most are saying I have to add '-lboost_system' in the Makefile but I don't know where I can add it since the Makefile is created automatically.
Any help?
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: SdkTrays.h missing in 1.9

Post by frostbyte »

it seems you have ogre versions and paths mixed( OIS has changed a bit from 1.9 to 1.10 )
so i think its better if you do a clean-up and install only the version you need(1.10 :D)
but since your on linux, it's a good practice to use docker in order to isolate your environment and avoid lib collision...
you are right that it's always preferable to build ogre from bitbucket
now about boost- threading is quite useless in ogre, you can disable it in the cmake options( search the forum about how to disable boost... )
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
Post Reply