Building a release
by Anthony Cosgrave · in Torque Game Engine Advanced · 10/05/2007 (7:28 am) · 5 replies
Hi,
I've been having enormous trouble trying to build a release version (TGEA.exe) of the engine.
I have followed every tutorial I can find, only this one came close to building a release version:
http://tdn.garagegames.com/wiki/TSE/Setup#More_Notes_on_Visual_Studio_8_.282005.29_Express_Edition_-_December_19th.2C_2006
I can build TGEA_DEBUG no problems, but I still get linker errors
guiTreeViewCtrl1.obj : error LNK2001: unresolved external symbol
When I try to build a release version.
Does anyone have a guide on how to build a release in Visual C++ 2005 Express Edition?
Thanks,
Anthony
I've been having enormous trouble trying to build a release version (TGEA.exe) of the engine.
I have followed every tutorial I can find, only this one came close to building a release version:
http://tdn.garagegames.com/wiki/TSE/Setup#More_Notes_on_Visual_Studio_8_.282005.29_Express_Edition_-_December_19th.2C_2006
I can build TGEA_DEBUG no problems, but I still get linker errors
guiTreeViewCtrl1.obj : error LNK2001: unresolved external symbol
When I try to build a release version.
Does anyone have a guide on how to build a release in Visual C++ 2005 Express Edition?
Thanks,
Anthony
About the author
#2
I just noticed that pieces (the important parts) of that post were missing, sorry I must've messed them up
when I was copying and pasting.
What I meant to say was that I have no problems building TGEA_DEBUG.exe - after following all the setup instructions I've found on the forums - but whenever I have tried to build TGEA.exe (as a release) I get linker errors:
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: void __thiscall GFXVertexColor::set(unsigned char,unsigned char,unsigned char,unsigned char)" (?set@GFXVertexColor@@QAEXEEEE@Z) referenced in function "public: void __thiscall GFXVertexColor::set(class ColorI const &)" (?set@GFXVertexColor@@QAEXABVColorI@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: void __thiscall GFXDevice::drawRectFill(class Point2I const &,class Point2I const &,class ColorI const &)" (?drawRectFill@GFXDevice@@QAEXABVPoint2I@@0ABVColorI@@@Z) referenced in function "public: void __thiscall GFXDevice::drawRectFill(class RectI const &,class ColorI const &)" (?drawRectFill@GFXDevice@@QAEXABVRectI@@ABVColorI@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: void __thiscall GFXDevice::drawBitmapStretchSR(class GFXTextureObject *,class RectI const &,class RectI const &,enum GFXBitmapFlip)" (?drawBitmapStretchSR@GFXDevice@@QAEXPAVGFXTextureObject@@ABVRectI@@1W4GFXBitmapFlip@@@Z) referenced in function "public: void __thiscall GFXDevice::drawBitmap(class GFXTextureObject *,class Point2I const &,enum GFXBitmapFlip)" (?drawBitmap@GFXDevice@@QAEXPAVGFXTextureObject@@ABVPoint2I@@W4GFXBitmapFlip@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: static class AbstractClassRep * __cdecl GuiArrayCtrl::getStaticClassRep(void)" (?getStaticClassRep@GuiArrayCtrl@@SAPAVAbstractClassRep@@XZ) referenced in function "public: static class AbstractClassRep * __cdecl GuiTreeViewCtrl::getParentStaticClassRep(void)" (?getParentStaticClassRep@GuiTreeViewCtrl@@SAPAVAbstractClassRep@@XZ)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "void __cdecl Con::errorf(char const *,...)" (?errorf@Con@@YAXPBDZZ) referenced in function "public: void __thiscall GuiTreeViewCtrl::Item::setNormalImage(signed char)" (?setNormalImage@Item@GuiTreeViewCtrl@@QAEXC@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "protected: static void __cdecl ConsoleObject::endGroup(char const *)" (?endGroup@ConsoleObject@@KAXPBD@Z) referenced in function "public: static void __cdecl GuiTreeViewCtrl::initPersistFields(void)" (?initPersistFields@GuiTreeViewCtrl@@SAXXZ)
10/05/2007 (8:42 am)
Woah, sorry. I just noticed that pieces (the important parts) of that post were missing, sorry I must've messed them up
when I was copying and pasting.
What I meant to say was that I have no problems building TGEA_DEBUG.exe - after following all the setup instructions I've found on the forums - but whenever I have tried to build TGEA.exe (as a release) I get linker errors:
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: void __thiscall GFXVertexColor::set(unsigned char,unsigned char,unsigned char,unsigned char)" (?set@GFXVertexColor@@QAEXEEEE@Z) referenced in function "public: void __thiscall GFXVertexColor::set(class ColorI const &)" (?set@GFXVertexColor@@QAEXABVColorI@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: void __thiscall GFXDevice::drawRectFill(class Point2I const &,class Point2I const &,class ColorI const &)" (?drawRectFill@GFXDevice@@QAEXABVPoint2I@@0ABVColorI@@@Z) referenced in function "public: void __thiscall GFXDevice::drawRectFill(class RectI const &,class ColorI const &)" (?drawRectFill@GFXDevice@@QAEXABVRectI@@ABVColorI@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: void __thiscall GFXDevice::drawBitmapStretchSR(class GFXTextureObject *,class RectI const &,class RectI const &,enum GFXBitmapFlip)" (?drawBitmapStretchSR@GFXDevice@@QAEXPAVGFXTextureObject@@ABVRectI@@1W4GFXBitmapFlip@@@Z) referenced in function "public: void __thiscall GFXDevice::drawBitmap(class GFXTextureObject *,class Point2I const &,enum GFXBitmapFlip)" (?drawBitmap@GFXDevice@@QAEXPAVGFXTextureObject@@ABVPoint2I@@W4GFXBitmapFlip@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: static class AbstractClassRep * __cdecl GuiArrayCtrl::getStaticClassRep(void)" (?getStaticClassRep@GuiArrayCtrl@@SAPAVAbstractClassRep@@XZ) referenced in function "public: static class AbstractClassRep * __cdecl GuiTreeViewCtrl::getParentStaticClassRep(void)" (?getParentStaticClassRep@GuiTreeViewCtrl@@SAPAVAbstractClassRep@@XZ)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "void __cdecl Con::errorf(char const *,...)" (?errorf@Con@@YAXPBDZZ) referenced in function "public: void __thiscall GuiTreeViewCtrl::Item::setNormalImage(signed char)" (?setNormalImage@Item@GuiTreeViewCtrl@@QAEXC@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "protected: static void __cdecl ConsoleObject::endGroup(char const *)" (?endGroup@ConsoleObject@@KAXPBD@Z) referenced in function "public: static void __cdecl GuiTreeViewCtrl::initPersistFields(void)" (?initPersistFields@GuiTreeViewCtrl@@SAXXZ)
#3
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "protected: static void __cdecl ConsoleObject::addField(char const *,unsigned int,unsigned int,unsigned int,struct EnumTable *,char const *)" (?addField@ConsoleObject@@KAXPBDIIIPAUEnumTable@@0@Z) referenced in function "public: static void __cdecl GuiTreeViewCtrl::initPersistFields(void)" (?initPersistFields@GuiTreeViewCtrl@@SAXXZ)
6>guiTreeViewCtrl1.obj : error LNK2001: unresolved external symbol "int TypeS32" (?TypeS32@@3HA)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "protected: static void __cdecl
ConsoleObject::addGroup(char const *,char const *)" (?addGroup@ConsoleObject@@KAXPBD0@Z) referenced in function "public: static void __cdecl GuiTreeViewCtrl::initPersistFields(void)" (?initPersistFields@GuiTreeViewCtrl@@SAXXZ)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: static void __cdecl GuiControl::initPersistFields(void)" (?initPersistFields@GuiControl@@SAXXZ) referenced in function "public: static void __cdecl GuiTreeViewCtrl::initPersistFields(void)" (?initPersistFields@GuiTreeViewCtrl@@SAXXZ)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "char const * __cdecl Con::executef(class SimObject *,int,...)" (?executef@Con@@YAPBDPAVSimObject@@HZZ) referenced in function "public: void __thiscall GuiTreeViewCtrl::setInstantGroup(class SimObject *)" (?setInstantGroup@GuiTreeViewCtrl@@QAEXPAVSimObject@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "char * __cdecl Con::getIntArg(int)" (?getIntArg@Con@@YAPADH@Z) referenced in function "public: void __thiscall GuiTreeViewCtrl::setInstantGroup(class SimObject *)" (?setInstantGroup@GuiTreeViewCtrl@@QAEXPAVSimObject@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "void __cdecl Con::setVariable(char const *,char const *)" (?setVariable@Con@@YAXPBD0@Z) referenced in function "public: void __thiscall GuiTreeViewCtrl::setInstantGroup(class SimObject *)" (?setInstantGroup@GuiTreeViewCtrl@@QAEXPAVSimObject@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: char const * __thiscall SimObject::getIdString(void)" (?getIdString@SimObject@@QAEPBDXZ) referenced in function "public: void __thiscall GuiTreeViewCtrl::setInstantGroup(class SimObject *)" (?setInstantGroup@GuiTreeViewCtrl@@QAEXPAVSimObject@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: virtual void __thiscall GuiArrayCtrl::onMouseEnter(struct GuiEvent const &)" (?onMouseEnter@GuiArrayCtrl@@UAEXABUGuiEvent@@@Z) referenced in function "public: virtual void __thiscall GuiTreeViewCtrl::onMouseEnter(struct GuiEvent const &)" (?onMouseEnter@GuiTreeViewCtrl@@UAEXABUGuiEvent@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: void __thiscall GFXDevice::draw2DSquare(class Point2F const &,float,float)" (?draw2DSquare@GFXDevice@@QAEXABVPoint2F@@MM@Z) referenced in function "public: virtual void __thiscall GuiTreeViewCtrl::onRender(class Point2I,class RectI const &)" (?onRender@GuiTreeViewCtrl@@UAEXVPoint2I@@ABVRectI@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: static class GFXDevice * __cdecl GFXDevice::get(void)" (?get@GFXDevice@@SAPAV1@XZ) referenced in function "public: virtual void __thiscall GuiTreeViewCtrl::onRender(class Point2I,class RectI const &)" (?onRender@GuiTreeViewCtrl@@UAEXVPoint2I@@ABVRectI@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: virtual void __thiscall GuiArrayCtrl::onRender(class Point2I,class RectI const &)" (?onRender@GuiArrayCtrl@@UAEXVPoint2I@@ABVRectI@@@Z) referenced in function "public: virtual void __thiscall GuiTreeViewCtrl::onRender(class Point2I,class RectI const &)" (?onRender@GuiTreeViewCtrl@@UAEXVPoint2I@@ABVRectI@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "int __cdecl dStrcmp(char const *,char const *)" (?dStrcmp@@YAHPBD0@Z) referenced in function "public: int __thiscall GuiTreeViewCtrl::getIcon(char const *)" (?getIcon@GuiTreeViewCtrl@@QAEHPBD@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: void __thiscall SimObject::unregisterReference(class SimObject * *)" (?unregisterReference@SimObject@@QAEXPAPAV1@@Z) referenced in function "public: __thiscall SimObjectPtr::~SimObjectPtr(void)" (??1?$SimObjectPtr@VGuiControlProfile@@@@QAE@XZ)
10/05/2007 (8:43 am)
6>guiTreeViewCtrl1.obj : error LNK2001: unresolved external symbol "int TypeBool" (?TypeBool@@3HA)6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "protected: static void __cdecl ConsoleObject::addField(char const *,unsigned int,unsigned int,unsigned int,struct EnumTable *,char const *)" (?addField@ConsoleObject@@KAXPBDIIIPAUEnumTable@@0@Z) referenced in function "public: static void __cdecl GuiTreeViewCtrl::initPersistFields(void)" (?initPersistFields@GuiTreeViewCtrl@@SAXXZ)
6>guiTreeViewCtrl1.obj : error LNK2001: unresolved external symbol "int TypeS32" (?TypeS32@@3HA)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "protected: static void __cdecl
ConsoleObject::addGroup(char const *,char const *)" (?addGroup@ConsoleObject@@KAXPBD0@Z) referenced in function "public: static void __cdecl GuiTreeViewCtrl::initPersistFields(void)" (?initPersistFields@GuiTreeViewCtrl@@SAXXZ)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: static void __cdecl GuiControl::initPersistFields(void)" (?initPersistFields@GuiControl@@SAXXZ) referenced in function "public: static void __cdecl GuiTreeViewCtrl::initPersistFields(void)" (?initPersistFields@GuiTreeViewCtrl@@SAXXZ)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "char const * __cdecl Con::executef(class SimObject *,int,...)" (?executef@Con@@YAPBDPAVSimObject@@HZZ) referenced in function "public: void __thiscall GuiTreeViewCtrl::setInstantGroup(class SimObject *)" (?setInstantGroup@GuiTreeViewCtrl@@QAEXPAVSimObject@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "char * __cdecl Con::getIntArg(int)" (?getIntArg@Con@@YAPADH@Z) referenced in function "public: void __thiscall GuiTreeViewCtrl::setInstantGroup(class SimObject *)" (?setInstantGroup@GuiTreeViewCtrl@@QAEXPAVSimObject@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "void __cdecl Con::setVariable(char const *,char const *)" (?setVariable@Con@@YAXPBD0@Z) referenced in function "public: void __thiscall GuiTreeViewCtrl::setInstantGroup(class SimObject *)" (?setInstantGroup@GuiTreeViewCtrl@@QAEXPAVSimObject@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: char const * __thiscall SimObject::getIdString(void)" (?getIdString@SimObject@@QAEPBDXZ) referenced in function "public: void __thiscall GuiTreeViewCtrl::setInstantGroup(class SimObject *)" (?setInstantGroup@GuiTreeViewCtrl@@QAEXPAVSimObject@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: virtual void __thiscall GuiArrayCtrl::onMouseEnter(struct GuiEvent const &)" (?onMouseEnter@GuiArrayCtrl@@UAEXABUGuiEvent@@@Z) referenced in function "public: virtual void __thiscall GuiTreeViewCtrl::onMouseEnter(struct GuiEvent const &)" (?onMouseEnter@GuiTreeViewCtrl@@UAEXABUGuiEvent@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: void __thiscall GFXDevice::draw2DSquare(class Point2F const &,float,float)" (?draw2DSquare@GFXDevice@@QAEXABVPoint2F@@MM@Z) referenced in function "public: virtual void __thiscall GuiTreeViewCtrl::onRender(class Point2I,class RectI const &)" (?onRender@GuiTreeViewCtrl@@UAEXVPoint2I@@ABVRectI@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: static class GFXDevice * __cdecl GFXDevice::get(void)" (?get@GFXDevice@@SAPAV1@XZ) referenced in function "public: virtual void __thiscall GuiTreeViewCtrl::onRender(class Point2I,class RectI const &)" (?onRender@GuiTreeViewCtrl@@UAEXVPoint2I@@ABVRectI@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: virtual void __thiscall GuiArrayCtrl::onRender(class Point2I,class RectI const &)" (?onRender@GuiArrayCtrl@@UAEXVPoint2I@@ABVRectI@@@Z) referenced in function "public: virtual void __thiscall GuiTreeViewCtrl::onRender(class Point2I,class RectI const &)" (?onRender@GuiTreeViewCtrl@@UAEXVPoint2I@@ABVRectI@@@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "int __cdecl dStrcmp(char const *,char const *)" (?dStrcmp@@YAHPBD0@Z) referenced in function "public: int __thiscall GuiTreeViewCtrl::getIcon(char const *)" (?getIcon@GuiTreeViewCtrl@@QAEHPBD@Z)
6>guiTreeViewCtrl1.obj : error LNK2019: unresolved external symbol "public: void __thiscall SimObject::unregisterReference(class SimObject * *)" (?unregisterReference@SimObject@@QAEXPAPAV1@@Z) referenced in function "public: __thiscall SimObjectPtr
#4
10/05/2007 (8:44 am)
... and almost 200 more
#5
Clean the solution and compile again.
Basically VS checks to see if a source file is newer than the compiled "obj" . If it is VS assumes the obj was compiled correctly and won't compile it into a obj again.
A quick way is to open the source file , in this case guiTreeViewCtrl.cpp & guiTreeViewCtrl.h save them and then recompile.
10/12/2007 (5:11 am)
I get this sometimes if I stop the build process during compile.Clean the solution and compile again.
Basically VS checks to see if a source file is newer than the compiled "obj" . If it is VS assumes the obj was compiled correctly and won't compile it into a obj again.
A quick way is to open the source file , in this case guiTreeViewCtrl.cpp & guiTreeViewCtrl.h save them and then recompile.
Torque 3D Owner Marc Dreamora Schaerer
Gayasoft
Normally it gives you an error.
Without any further information I would assume that you don't have the DX SDK installed or its paths (include and lib) correctly entered into the Visual Studio C++ Directory Data.