Code::Blocks with GCC 3.45 and Eihort SDK compiling errors

Baiame

17-04-2007 22:31:46

Hello. I tried compiling the CVS version of PLSM2 using the provided .cbp. I checked the search directories and linker settings, they're right. I get the following errors:

..\include\OgrePagingLandScapeOcclusionElement.h:27: error: `VisibleObjectsBoundsInfo' has not been declared
..\include\OgrePagingLandScapeOcclusionElement.h:27: error: ISO C++ forbids declaration of `visibleBounds' with no type
..\include\OgrePagingLandScapeOcclusionElement.h:28: error: `VisibleObjectsBoundsInfo' has not been declared
..\include\OgrePagingLandScapeOcclusionElement.h:28: error: ISO C++ forbids declaration of `visibleBounds' with no type
..\include\OgrePagingLandScapeOcclusionElement.h:29: error: `VisibleObjectsBoundsInfo' has not been declared
..\include\OgrePagingLandScapeOcclusionElement.h:29: error: ISO C++ forbids declaration of `visibleBounds' with no type
..\include\OgrePagingLandScapeOctreeSceneManager.h:85: error: cannot allocate an object of type `Ogre::PagingLandScapeOctree'
..\include\OgrePagingLandScapeOctreeSceneManager.h:85: error: because the following virtual functions are abstract:
..\include\OgrePagingLandScapeOcclusionElement.h:27: error: virtual void Ogre::OcclusionElement::traversal(Ogre::Traversal&, int*)
..\include\OgrePagingLandScapeOcclusionElement.h:28: error: virtual void Ogre::OcclusionElement::traversal(const Ogre::TraversalConst&, int*)
..\include\OgrePagingLandScapeOcclusionElement.h:29: error: virtual void Ogre::OcclusionElement::traversal(const Ogre::ConstTraversalConst&, int*) const


Note that I don't have STLport (looks like a bitch to compile, and I can't find anything precompiled). Is it necessary? If so, do you know of where I can get a precompiled version of 5.0? Thanks for any help.

EDIT- I added "OgreSceneManager.h" (where VisibleObjectsBoundsInfo is declared) and those errors don't come up anymore. Now I just get the following:
..\obj\Release\src\OgrePagingLandScapeSceneManager.o:OgrePagingLandScapeSceneManager.cpp:(.text+0x1f60):: undefined reference to `Ogre::PagingLandScapeAxisAlignedBoxSceneQuery::PagingLandScapeAxisAlignedBoxSceneQuery(Ogre::SceneManager*)'
..\obj\Release\src\OgrePagingLandScapeSceneManager.o:OgrePagingLandScapeSceneManager.cpp:(.text$_ZN4Ogre31PagingLandScapeMeshDecalFactoryC1Ev[Ogre::PagingLandScapeMeshDecalFactory::PagingLandScapeMeshDecalFactory()]+0x16):: undefined reference to `vtable for Ogre::PagingLandScapeMeshDecalFactory'


EDIT2- Should probably explain the last part a bit better. I included "OgreSceneManager.h" in that file because as far as I could tell, it wasn't included in any of the other headers used by that file. Anyway, I noticed that PagingLandScapeAxisAlignedBox (.cpp and .h) isn't included in the provided .cbp; but it seems they should be, as something from it is called somewhere (as is evident from the linker error). I noticed that in fact there were many source and header filed not included in the .cbp; I have no idea why. I added in all the other files, and the project compiled, but I still have to see if it works.

Though I don't really know what's going on with the files, I suspect there's something slightly wrong with the .cbps setup. Can you please look into it, Tuan?

rt15

20-04-2007 17:03:44

Hi !

Look at this :

http://www.ogre3d.org/phpBB2addons/viewtopic.php?t=3909

Baiame

20-04-2007 21:18:24

Hey rt15,

I did see that thread, among several others, but few seemed to have much useful info (indluding that one). Thanks anyway. Oh, and as I said in my last post, I did successfully compile a .dll. I just have to see if it works.

Actually, I'm having trouble with that now. I compiled the plsm2 example application, but when I run it it says that "cg.dll" cannot be found (even though the plugins .cfg files definitely point to ogresdk\bin\release). I wish there was more info in the wiki about installation...
EDIT- Okay, I had to move the cg.dll into the directory holding the sample .exe (the plugins directories were indeed correct, as the .log recorded loading of certain .dlls). Then I set up the resources .cfg files. The application starts up and doesn't crash, but I don't see any terrain.

Then I remembered that I hadn't run the mapsplitter. But where is it? I see nothing in the mapsplitter directory in the paginglandscape folder. Searched the forums and found nothing.

EDIT2- tools\mapsplitter. Haha. I guess it shouldn't have taken me so long to realize that (just had to check out the plsm2.sln).