Irrlicht source compilation ?

You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers.
No questions about C++ programming or topics which are answered in the tutorials!
Post Reply
AnonymousNext

Irrlicht source compilation ?

Post by AnonymousNext »

Hi everybody,

I was just wondering if someone had managed to compile the Irrlicht source, is it even supposed to work. I get a lot of garbage message about unresolved externals (24 in total).

Example:
CGUIEnvironment.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::gui::CGUIInOutFader::CGUIInOutFader(class gui::CGUIInOutFader::IGUIEnvironment *,class gui::CGUIInOutFader::IGUIElement *,int,class gui::core::rect<int>)" (??0C
GUIInOutFader@gui@irr@@QAE@PAVIGUIEnvironment@12@PAVIGUIElement@12@HV?$rect@H@core@2@@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CMeshManipulator::CMeshManipulator(void)" (??0CMeshManipulator@scene@irr@@QAE@XZ)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CWaterSurfaceSceneNode::CWaterSurfaceSceneNode(float,float,float,class scene::CWaterSurfaceSceneNode::IMesh *,class scene::CWaterSurfaceSceneNode::ISceneNo
de *,class scene::CWaterSurfaceSceneNode::ISceneManager *,int,class scene::core::vector3d<float> const &,class scene::core::vector3d<float> const &,class scene::core::vector3d<float> const &)" (??0CWaterSurfaceSceneNode@scene@irr@@QAE@MMMPAVIMesh@12
@PAVISceneNode@12@PAVISceneManager@12@HABV?$vector3d@M@core@2@33@Z)

cheers,

Bryan
hearsedriver
Posts: 81
Joined: Fri Aug 22, 2003 12:06 pm
Location: Germany
Contact:

Post by hearsedriver »

I used the VC.NET workspace Niko provided with the source and had no problems creating the DLL. In case you created an own projekt, you might have not included all .cpp files.

Cheers.
matthias gall, lead programmer at sechsta sinn - email matthias@sechsta-sinn.de
AnonymousNext

Post by AnonymousNext »

OK, I was just asking myself if Irrlicht hackers were mostly linux hackers, and in this case the VisualC++ file might be out of date.

Seems more that my version of VC is too old (VC6 SP5). If I ever manage to get the project to compile I'll try and send the corresponding VC6 file.

Cheers,

Bryan
hearsedriver
Posts: 81
Joined: Fri Aug 22, 2003 12:06 pm
Location: Germany
Contact:

Post by hearsedriver »

The VC7 project files are just textfiles, maybe they'll give you a clue. Maybe you're even able to copy&paste parts from the VC7 file into your VC6 workspace file ... but that's just a guess, I never had a look at the differences.

Cheers.
matthias gall, lead programmer at sechsta sinn - email matthias@sechsta-sinn.de
AnonymousNext

Post by AnonymousNext »

Hi,

Sorry for sending so many messages in such a short time.

Seems that the conversion from VC.Net project to VC6 project went wrong, so you have to include every missing class in your project (look at the name of the class and find the corresponding .cpp), and CIrrDeviceStub.cpp, which will trigger errors for other class names.

Furthermore, the stupid VC6 compiler complains about non-initialization of i in CMeshManipulator::scaleMesh and CMeshManipulator::setVertexColorAlpha in certain cases unless you move declaration and initialization of i before the switch statement.
Same thing in CParticleSystemSceneNode::reallocateBuffers, with multiple declarations of i (take care to reinit between the two loops).

Everything should compile fine then.

HTH,

Bryan
rom++
Posts: 5
Joined: Fri Sep 26, 2003 12:57 am
Location: the 7th level
Contact:

Post by rom++ »

ok, when i recompile, i get 2 errors because it can't find the file d3d8.h (direct x 8 ) ... do i need to get the directX SDK?
hearsedriver
Posts: 81
Joined: Fri Aug 22, 2003 12:06 pm
Location: Germany
Contact:

Post by hearsedriver »

rom++ wrote:do i need to get the directX SDK?
Guess.
matthias gall, lead programmer at sechsta sinn - email matthias@sechsta-sinn.de
rom++
Posts: 5
Joined: Fri Sep 26, 2003 12:57 am
Location: the 7th level
Contact:

Post by rom++ »

hearsedriver wrote:Guess.
well duh. nevermind - i was just wondering if there was any way of solving this without dl'ing the whole directX sdk since i was on the stupid-slow school server at the time. :)
Post Reply