where the !"£$%^& are the sdl includes?

danharibo

12-04-2006 22:44:26

when i compile ogrenewt in debut i get these errors:
c:\ogrenewt\demos\include\exampleframelistener.h(256) : error C2039: 'setDetailLevel' : is not a member of 'Ogre::Camera'
c:\ogresdk\include\ogrecamera.h(76) : see declaration of 'Ogre::Camera'
c:\ogrenewt\demos\include\exampleframelistener.h(256) : error C2065: 'SDL_SOLID' : undeclared identifier
c:\ogrenewt\demos\include\exampleframelistener.h(257) : error C2039: 'setDetailLevel' : is not a member of 'Ogre::Camera'
c:\ogresdk\include\ogrecamera.h(76) : see declaration of 'Ogre::Camera'
c:\ogrenewt\demos\include\exampleframelistener.h(257) : error C2065: 'SDL_WIREFRAME' : undeclared identifier
c:\ogrenewt\demos\include\exampleframelistener.h(258) : error C2039: 'setDetailLevel' : is not a member of 'Ogre::Camera'
c:\ogresdk\include\ogrecamera.h(76) : see declaration of 'Ogre::Camera'
c:\ogrenewt\demos\include\exampleframelistener.h(258) : error C2065: 'SDL_POINTS' : undeclared identifier
c:\ogrenewt\ogrenewt_main\inc\ogrenewt_debugger.h(67) : warning C4067: unexpected tokens following preprocessor directive - expected a newline
OgreNewt_BasicJoints.cpp
OgreNewt_Body.cpp
OgreNewt_Collision.cpp
OgreNewt_CollisionPrimitives.cpp
c:\ogrenewt\ogrenewt_main\src\ogrenewt_collisionprimitives.cpp(384) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
c:\ogrenewt\ogrenewt_main\src\ogrenewt_collisionprimitives.cpp(430) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
OgreNewt_ContactCallback.cpp
OgreNewt_Debugger.cpp
c:\ogrenewt\ogrenewt_main\inc\ogrenewt_debugger.h(67) : warning C4067: unexpected tokens following preprocessor directive - expected a newline
c:\ogrenewt\ogrenewt_main\src\ogrenewt_debugger.cpp(44) : error C2061: syntax error : identifier 'Line3D'
c:\ogrenewt\ogrenewt_main\src\ogrenewt_debugger.cpp(55) : error C2227: left of '->drawLines' must point to class/struct/union/generic type
type is 'int *'
c:\ogrenewt\ogrenewt_main\src\ogrenewt_debugger.cpp(56) : error C2664: 'Ogre::SceneNode::attachObject' : cannot convert parameter 1 from 'int *' to 'Ogre::MovableObject *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
c:\ogrenewt\ogrenewt_main\src\ogrenewt_debugger.cpp(97) : error C2227: left of '->addPoint' must point to class/struct/union/generic type
type is 'int *'
c:\ogrenewt\ogrenewt_main\src\ogrenewt_debugger.cpp(98) : error C2227: left of '->addPoint' must point to class/struct/union/generic type
type is 'int *'

somting tells me i don't have sdl, but
(a) sdl wtf?
(b) where are thay?

praetor

12-04-2006 23:04:48

Not SDL, Ogre itself. The SDL you see is an enum in Ogre controlling the camera's render detail level (SDL most likely stands for Scene Detail Level). This function and enum has changed in the dagon release to be PolygonMode.

Given this information I can assume now that you are using Dagon. There are two fixes, since there are actually two problems. First, delete the copy of ExampleFramelistener and ExampleApplication that comes with OgreNewt. This forces it to use the ones from Dagon, which are updated. Next, open the file ogrenewt_debugger and look near the top for a macro having to do with Dagon. I forget the name. You must compile WITH THIS DEFINED. So, in your compilers preprocessor settings (command-line or whatever) define this macro. Then, recompile, come back, and claim victory.

danharibo

12-04-2006 23:20:22

is the macro _OGRENEWT_DEBUGGER_DAGON ?

praetor

12-04-2006 23:20:49

yes

danharibo

12-04-2006 23:43:15

i am still getting 14 errors

walaber

13-04-2006 00:24:05

delete

c:\ogrenewt\demos\include\exampleframelistener.h

and

c:\ogrenewt\demos\include\exampleapplication.h


and make sure you have the newest version of OgreNewt.

praetor

13-04-2006 04:41:58

And make sure your compiler knows where the REAL Ogre example files are. They may not be in the same directory as the library (OgreMain) since they are not really official library files. Make sure either they are there, or that you don't compile them (OgreNewt's main library shouldn't need them either).

danharibo

13-04-2006 12:17:23

i managed to find an updated version of ogrenewt on my pc but now it cant find line3d.h

danharibo

13-04-2006 12:58:26

what are all of the include dirs needed for ogrenewt?

walaber

13-04-2006 19:47:16

please do the following:

1. redownload OgreNewt to make sure you have the newest version.
2. delete your existing OgreNewt directory, and replace with the newly downloaded version.
3. Try compiling OgreNewt (including the demos).

if you get errors still, please post them.

danharibo

13-04-2006 20:42:20

what libs\dirs do i need?

walaber

13-04-2006 21:58:09

you need:

OGRE
Newton
OgreNewt

and tinyxml if you want to compile the ragdoll demo.


in addition to everything you need for a standard Ogre app, for OgreNewt you will need to include
ogrenewt/OgreNewt_Main/inc
NewtonSDK/sdk/

and you will need to link to
OgreNewt_Main.lib / OgreNewt_Main_d.lib (ogrenewt/OgreNewt_Main/lib/release or debug)
newton.lib (NewtonSDK/sdk/dll)

danharibo

13-04-2006 22:26:04

i have linked and know i am getting theses errors:
Linking...
OgreNewt_BasicFrameListener.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:ICF' specification
Creating library lib\Debug_DLL\OgreNewt_Main_d.lib and object lib\Debug_DLL\OgreNewt_Main_d.exp
OgreNewt_Debugger.obj : error LNK2019: unresolved external symbol "public: void __thiscall Line3D::drawLines(void)" (?drawLines@Line3D@@QAEXXZ) referenced in function "public: void __thiscall OgreNewt::Debugger::showLines(class OgreNewt::World *)" (?showLines@Debugger@OgreNewt@@QAEXPAVWorld@2@@Z)
OgreNewt_Debugger.obj : error LNK2019: unresolved external symbol "public: __thiscall Line3D::Line3D(void)" (??0Line3D@@QAE@XZ) referenced in function "public: void __thiscall OgreNewt::Debugger::showLines(class OgreNewt::World *)" (?showLines@Debugger@OgreNewt@@QAEXPAVWorld@2@@Z)
OgreNewt_Debugger.obj : error LNK2019: unresolved external symbol "public: void __thiscall Line3D::addPoint(class Ogre::Vector3 const &)" (?addPoint@Line3D@@QAEXABVVector3@Ogre@@@Z) referenced in function "private: static void __cdecl OgreNewt::Debugger::newtonPerPoly(struct NewtonBody const *,int,float const *,int)" (?newtonPerPoly@Debugger@OgreNewt@@CAXPBUNewtonBody@@HPBMH@Z)
lib\Debug_DLL\OgreNewt_Main_d.dll : fatal error LNK1120: 3 unresolved externals

Why don't compilers just work!!!

walaber

14-04-2006 01:53:31

you are very close.

now add "line3d.cpp" to your PROJECT so it compiles with the project. you can find this file in ogrenewt/demos/include.

danharibo

14-04-2006 12:15:44

yes, in your face msvc!!!!