How do you compile in GTK Radiant? o.0

Discussion about everything. New games, 3d math, development tips...
Gold_Fusion
Posts: 26
Joined: Tue Jan 20, 2004 9:25 pm
Location: England
Contact:

Post by Gold_Fusion »

I can't use the code Niko posted - I get errors when compiling it. Perhaps this is because I'm using 0.4 rather than 0.42?
niko
Site Admin
Posts: 1759
Joined: Fri Aug 22, 2003 4:44 am
Location: Vienna, Austria
Contact:

Post by niko »

Gold_Fusion wrote:I can't use the code Niko posted - I get errors when compiling it. Perhaps this is because I'm using 0.4 rather than 0.42?
Hm, maybe. But it would help if you could post the errors you get.
Gold_Fusion
Posts: 26
Joined: Tue Jan 20, 2004 9:25 pm
Location: England
Contact:

Post by Gold_Fusion »

Code: Select all

--------------------Configuration: Irrlicht - Win32 Debug--------------------
Compiling...
CQ3LevelMesh.cpp
Linking...
   Creating library ..\Debug/Irrlicht.lib and object ..\Debug/Irrlicht.exp
CGUIEnvironment.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::gui::CGUIInOutFader::CGUIInOutFader(class irr::gui::IGUIEnvironment *,class irr::gui::IGUIElement *,int,class irr::core::rect<int>)" (??0CGUIInOutFader@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 irr::scene::IMesh *,class irr::scene::ISceneNode *,class irr::scene::ISceneManager *
,int,class irr::core::vector3d<float> const &,class irr::core::vector3d<float> const &,class irr::core::vector3d<float> const &)" (??0CWaterSurfaceSceneNode@scene@irr@@QAE@MMMPAVIMesh@12@PAVISceneNode@12@PAVISceneManager@12@HABV?$vector3d@M@core@2@3
3@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CParticleSystemSceneNode::CParticleSystemSceneNode(bool,class irr::scene::ISceneNode *,class irr::scene::ISceneManager *,int,class irr::core::vector3d<floa
t> const &,class irr::core::vector3d<float> const &,class irr::core::vector3d<float> const &)" (??0CParticleSystemSceneNode@scene@irr@@QAE@_NPAVISceneNode@12@PAVISceneManager@12@HABV?$vector3d@M@core@2@33@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CDummyTransformationSceneNode::CDummyTransformationSceneNode(class irr::scene::ISceneNode *,class irr::scene::ISceneManager *,int)" (??0CDummyTransformatio
nSceneNode@scene@irr@@QAE@PAVISceneNode@12@PAVISceneManager@12@H@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CSceneNodeAnimatorDelete::CSceneNodeAnimatorDelete(class irr::scene::ISceneManager *,unsigned int)" (??0CSceneNodeAnimatorDelete@scene@irr@@QAE@PAVISceneMa
nager@12@I@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CSceneNodeAnimatorCollisionResponse::CSceneNodeAnimatorCollisionResponse(class irr::scene::ISceneManager *,class irr::scene::ITriangleSelector *,class irr:
:scene::ISceneNode *,class irr::core::vector3d<float> const &,class irr::core::vector3d<float> const &,float,class irr::core::vector3d<float> const &,float)" (??0CSceneNodeAnimatorCollisionResponse@scene@irr@@QAE@PAVISceneManager@12@PAVITriangleSele
ctor@12@PAVISceneNode@12@ABV?$vector3d@M@core@2@3M3M@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CTriangleSelector::CTriangleSelector(class irr::scene::IMesh *,class irr::scene::ISceneNode *)" (??0CTriangleSelector@scene@irr@@QAE@PAVIMesh@12@PAVISceneN
ode@12@@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CTriangleBBSelector::CTriangleBBSelector(class irr::scene::ISceneNode *)" (??0CTriangleBBSelector@scene@irr@@QAE@PAVISceneNode@12@@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::COctTreeTriangleSelector::COctTreeTriangleSelector(class irr::scene::IMesh *,class irr::scene::ISceneNode *,int)" (??0COctTreeTriangleSelector@scene@irr@@Q
AE@PAVIMesh@12@PAVISceneNode@12@H@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CMetaTriangleSelector::CMetaTriangleSelector(void)" (??0CMetaTriangleSelector@scene@irr@@QAE@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual unsigned short const * __thiscall irr::CIrrDeviceStub::getVersion(void)" (?getVersion@CIrrDeviceStub@irr@@UAEPBGXZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::ITimer * __thiscall irr::CIrrDeviceStub::getTimer(void)" (?getTimer@CIrrDeviceStub@irr@@UAEPAVITimer@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::gui::ICursorControl * __thiscall irr::CIrrDeviceStub::getCursorControl(void)" (?getCursorControl@CIrrDeviceStub@irr@@UAEPAVICursorControl@gui@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::scene::ISceneManager * __thiscall irr::CIrrDeviceStub::getSceneManager(void)" (?getSceneManager@CIrrDeviceStub@irr@@UAEPAVISceneManager@scene@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::gui::IGUIEnvironment * __thiscall irr::CIrrDeviceStub::getGUIEnvironment(void)" (?getGUIEnvironment@CIrrDeviceStub@irr@@UAEPAVIGUIEnvironment@gui@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::io::IFileSystem * __thiscall irr::CIrrDeviceStub::getFileSystem(void)" (?getFileSystem@CIrrDeviceStub@irr@@UAEPAVIFileSystem@io@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::video::IVideoDriver * __thiscall irr::CIrrDeviceStub::getVideoDriver(void)" (?getVideoDriver@CIrrDeviceStub@irr@@UAEPAVIVideoDriver@video@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall irr::CIrrDeviceStub::~CIrrDeviceStub(void)" (??1CIrrDeviceStub@irr@@UAE@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "protected: void __thiscall irr::CIrrDeviceStub::createGUIAndScene(class irr::IEventReceiver *)" (?createGUIAndScene@CIrrDeviceStub@irr@@IAEXPAVIEventReceiver@2@@Z)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::CIrrDeviceStub::CIrrDeviceStub(void)" (??0CIrrDeviceStub@irr@@QAE@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: void __thiscall irr::video::CVideoModeList::setDesktop(int,class irr::core::dimension2d<int> const &)" (?setDesktop@CVideoModeList@video@irr@@QAEXHABV?$dimension2d@H@core@3@@Z)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: void __thiscall irr::video::CVideoModeList::addMode(class irr::core::dimension2d<int> const &,int)" (?addMode@CVideoModeList@video@irr@@QAEXABV?$dimension2d@H@core@3@H@Z)
..\Debug/Irrlicht.dll : fatal error LNK1120: 23 unresolved externals
Error executing link.exe.

Irrlicht.dll - 24 error(s), 0 warning(s)
Those are the errors I got. I noticed that in the original 'case 3:' was commented out, and in the new code it was not, so I thought I'd comment it out again just to see if it helped. I got the following errors with that:

Code: Select all

--------------------Configuration: Irrlicht - Win32 Debug--------------------
Compiling...
CQ3LevelMesh.cpp
Linking...
   Creating library ..\Debug/Irrlicht.lib and object ..\Debug/Irrlicht.exp
CGUIEnvironment.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::gui::CGUIInOutFader::CGUIInOutFader(class irr::gui::IGUIEnvironment *,class irr::gui::IGUIElement *,int,class irr::core::rect<int>)" (??0CGUIInOutFader@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 irr::scene::IMesh *,class irr::scene::ISceneNode *,class irr::scene::ISceneManager *
,int,class irr::core::vector3d<float> const &,class irr::core::vector3d<float> const &,class irr::core::vector3d<float> const &)" (??0CWaterSurfaceSceneNode@scene@irr@@QAE@MMMPAVIMesh@12@PAVISceneNode@12@PAVISceneManager@12@HABV?$vector3d@M@core@2@3
3@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CParticleSystemSceneNode::CParticleSystemSceneNode(bool,class irr::scene::ISceneNode *,class irr::scene::ISceneManager *,int,class irr::core::vector3d<floa
t> const &,class irr::core::vector3d<float> const &,class irr::core::vector3d<float> const &)" (??0CParticleSystemSceneNode@scene@irr@@QAE@_NPAVISceneNode@12@PAVISceneManager@12@HABV?$vector3d@M@core@2@33@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CDummyTransformationSceneNode::CDummyTransformationSceneNode(class irr::scene::ISceneNode *,class irr::scene::ISceneManager *,int)" (??0CDummyTransformatio
nSceneNode@scene@irr@@QAE@PAVISceneNode@12@PAVISceneManager@12@H@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CSceneNodeAnimatorDelete::CSceneNodeAnimatorDelete(class irr::scene::ISceneManager *,unsigned int)" (??0CSceneNodeAnimatorDelete@scene@irr@@QAE@PAVISceneMa
nager@12@I@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CSceneNodeAnimatorCollisionResponse::CSceneNodeAnimatorCollisionResponse(class irr::scene::ISceneManager *,class irr::scene::ITriangleSelector *,class irr:
:scene::ISceneNode *,class irr::core::vector3d<float> const &,class irr::core::vector3d<float> const &,float,class irr::core::vector3d<float> const &,float)" (??0CSceneNodeAnimatorCollisionResponse@scene@irr@@QAE@PAVISceneManager@12@PAVITriangleSele
ctor@12@PAVISceneNode@12@ABV?$vector3d@M@core@2@3M3M@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CTriangleSelector::CTriangleSelector(class irr::scene::IMesh *,class irr::scene::ISceneNode *)" (??0CTriangleSelector@scene@irr@@QAE@PAVIMesh@12@PAVISceneN
ode@12@@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CTriangleBBSelector::CTriangleBBSelector(class irr::scene::ISceneNode *)" (??0CTriangleBBSelector@scene@irr@@QAE@PAVISceneNode@12@@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::COctTreeTriangleSelector::COctTreeTriangleSelector(class irr::scene::IMesh *,class irr::scene::ISceneNode *,int)" (??0COctTreeTriangleSelector@scene@irr@@Q
AE@PAVIMesh@12@PAVISceneNode@12@H@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CMetaTriangleSelector::CMetaTriangleSelector(void)" (??0CMetaTriangleSelector@scene@irr@@QAE@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual unsigned short const * __thiscall irr::CIrrDeviceStub::getVersion(void)" (?getVersion@CIrrDeviceStub@irr@@UAEPBGXZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::ITimer * __thiscall irr::CIrrDeviceStub::getTimer(void)" (?getTimer@CIrrDeviceStub@irr@@UAEPAVITimer@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::gui::ICursorControl * __thiscall irr::CIrrDeviceStub::getCursorControl(void)" (?getCursorControl@CIrrDeviceStub@irr@@UAEPAVICursorControl@gui@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::scene::ISceneManager * __thiscall irr::CIrrDeviceStub::getSceneManager(void)" (?getSceneManager@CIrrDeviceStub@irr@@UAEPAVISceneManager@scene@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::gui::IGUIEnvironment * __thiscall irr::CIrrDeviceStub::getGUIEnvironment(void)" (?getGUIEnvironment@CIrrDeviceStub@irr@@UAEPAVIGUIEnvironment@gui@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::io::IFileSystem * __thiscall irr::CIrrDeviceStub::getFileSystem(void)" (?getFileSystem@CIrrDeviceStub@irr@@UAEPAVIFileSystem@io@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::video::IVideoDriver * __thiscall irr::CIrrDeviceStub::getVideoDriver(void)" (?getVideoDriver@CIrrDeviceStub@irr@@UAEPAVIVideoDriver@video@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall irr::CIrrDeviceStub::~CIrrDeviceStub(void)" (??1CIrrDeviceStub@irr@@UAE@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "protected: void __thiscall irr::CIrrDeviceStub::createGUIAndScene(class irr::IEventReceiver *)" (?createGUIAndScene@CIrrDeviceStub@irr@@IAEXPAVIEventReceiver@2@@Z)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::CIrrDeviceStub::CIrrDeviceStub(void)" (??0CIrrDeviceStub@irr@@QAE@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: void __thiscall irr::video::CVideoModeList::setDesktop(int,class irr::core::dimension2d<int> const &)" (?setDesktop@CVideoModeList@video@irr@@QAEXHABV?$dimension2d@H@core@3@@Z)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: void __thiscall irr::video::CVideoModeList::addMode(class irr::core::dimension2d<int> const &,int)" (?addMode@CVideoModeList@video@irr@@QAEXABV?$dimension2d@H@core@3@H@Z)
..\Debug/Irrlicht.dll : fatal error LNK1120: 23 unresolved externals
Error executing link.exe.

Irrlicht.dll - 24 error(s), 0 warning(s)
niko
Site Admin
Posts: 1759
Joined: Fri Aug 22, 2003 4:44 am
Location: Vienna, Austria
Contact:

Post by niko »

You are compiling with Visual Studio 6, and using version 0.4. I posted this a few times before into the forum. There are three solutions for this:
  • Add all .cpp files of the engine into your project. There are simply some files missing in the visual studio project.
  • Use a newer version of the engine
  • use a newer Visual Studio
Gold_Fusion
Posts: 26
Joined: Tue Jan 20, 2004 9:25 pm
Location: England
Contact:

Post by Gold_Fusion »

Okay thanks, I'll update it to 0.42 then. The only reason I didn't download that in the first place was because it doesn't have any documentation, but I'm sure the 0.4 documentation will be fine. :)
deps
Posts: 115
Joined: Sat Jan 10, 2004 5:22 pm
Location: Tranås, Sweden

Post by deps »

0.4.2 does have documentation.
It doesn't have examples. :)
Gold_Fusion
Posts: 26
Joined: Tue Jan 20, 2004 9:25 pm
Location: England
Contact:

Post by Gold_Fusion »

Ooooooooooooooooooooooooh, lol. :)
Gold_Fusion
Posts: 26
Joined: Tue Jan 20, 2004 9:25 pm
Location: England
Contact:

Post by Gold_Fusion »

Hmm... I downloaded 0.42, made the changes, compiled it, moved the .dll and .lib from the /debug directory into my project directory, linked to the .lib, moved it to the top of the list, linked to the irrlicht.h in the 0.42 include directory, moved that to the top of the list, made two changes in my code (I changed 'DT_DIRECTX8' to 'EDT_DIRECTX8' and 'TS_WORLD' to 'ETS_WORLD') and then built and ran it. The console appeared, and I got a message box with an error:

Irrlicht Test Game.exe - Entry Point Not Found
================================
The procedure entry point
?createDevice@irr@@YAPAVIrrlichtDevice@1@W4EDriverType@video@1@ABV?$dimension2d@H@core@1@I_N2PA
VIEventReceiver@2@PBG@Z could not be located in the dynamic link library Irrlicht.dll
keless
Posts: 805
Joined: Mon Dec 15, 2003 10:37 pm
Location: Los Angeles, California, USA

Post by keless »

sounds like you're still running off the old .DLL, perhaps there is another one lying around. maybe an old version is in your system/ directory, and its finding/using that one first?
a screen cap is worth 0x100000 DWORDS
Gold_Fusion
Posts: 26
Joined: Tue Jan 20, 2004 9:25 pm
Location: England
Contact:

Post by Gold_Fusion »

Yeah, that was the problem. I fixed that, and ran the program, but it still won't display the quake map...
Gold_Fusion
Posts: 26
Joined: Tue Jan 20, 2004 9:25 pm
Location: England
Contact:

Post by Gold_Fusion »

Oh my god oh my god oh my god oh my god... I just replaced the code I was using with that of the Q3 tutorial (without the collision detection or anything), changed DT_DIRECTX8 to EDT_DIRECTX8 and the map name to my map name, ran it, and... It worked! W00t! Heh. c.c
Post Reply