Game Development Community

Advice for linker errors in VS2005

by Gordon Marsh · in Torque Game Engine · 12/19/2006 (5:32 am) · 3 replies

I have pretty much completed what I want to do with the engine, and as a final piece of work I was hoping to incorporate this resource to turn Torque into a browser plug-in:

tdn.garagegames.com/wiki/TGE/Code/How_to_make_torque_a_plugin

I had to make a few c++ changes to get it to compile (as it was made in VS2003.NET and I'm now using VS2005) but I got all the changes in and it compiles.

Unfortunately I now get thousands of linker errors such as:

wheeledVehicle.obj : error LNK2001: unresolved external symbol "const type_info::'vftable'" (??_7type_info@@6B@)

The plug-in is a seperate project in the visual studio solution. The original "Torque Demo" project still compiles.

Can anyone help with advice as to what settings need to be changed? I have been adding in all sorts of Include directories but to no avail :(

Gords

#1
12/20/2006 (6:38 pm)
Be sure you have the
DirectX
Platform SDK Installed and linked, as well as the Microsoft Platform SDK
#2
12/21/2006 (12:23 pm)
Thanks for the hints Alex, but I have the two of those included already. By tinkering a bit myself I have reduced the linker errors down though to the following:

Unfortunately it now seems to be fairly random objects causing the errors...

1>worldEditor.obj : error LNK2019: unresolved external symbol "public: void __thiscall AIPathNodeGraph::renderPaths(void)" (?renderPaths@AIPathNodeGraph@@QAEXXZ) referenced in function "public: virtual void __thiscall WorldEditor::renderScene(class RectI const &)" (?renderScene@WorldEditor@@UAEXABVRectI@@@Z)
1>guiCanvas.obj : error LNK2019: unresolved external symbol "public: static void __cdecl GuiDragDropButtonCtrl::consoleInit(void)" (?consoleInit@GuiDragDropButtonCtrl@@SAXXZ) referenced in function "public: virtual void __thiscall ConcreteClassRep<class GuiDragDropButtonCtrl>::init(void)const " (?init@?$ConcreteClassRep@VGuiDragDropButtonCtrl@@@@UBEXXZ)
1>guiCanvas.obj : error LNK2019: unresolved external symbol "public: static void __cdecl GuiDragDropButtonCtrl::initPersistFields(void)" (?initPersistFields@GuiDragDropButtonCtrl@@SAXXZ) referenced in function "public: virtual void __thiscall ConcreteClassRep<class GuiDragDropButtonCtrl>::init(void)const " (?init@?$ConcreteClassRep@VGuiDragDropButtonCtrl@@@@UBEXXZ)
1>guiCanvas.obj : error LNK2019: unresolved external symbol "public: __thiscall GuiDragDropButtonCtrl::GuiDragDropButtonCtrl(void)" (??0GuiDragDropButtonCtrl@@QAE@XZ) referenced in function "public: virtual class ConsoleObject * __thiscall ConcreteClassRep<class GuiDragDropButtonCtrl>::create(void)const " (?create@?$ConcreteClassRep@VGuiDragDropButtonCtrl@@@@UBEPAVConsoleObject@@XZ)
1>game.obj : error LNK2001: unresolved external symbol "class Celestials * gCelestials" (?gCelestials@@3PAVCelestials@@A)
1>fxSunLight.obj : error LNK2001: unresolved external symbol "class Celestials * gCelestials" (?gCelestials@@3PAVCelestials@@A)
1>lightManager.obj : error LNK2001: unresolved external symbol "class Celestials * gCelestials" (?gCelestials@@3PAVCelestials@@A)
1>fluidRender.obj : error LNK2001: unresolved external symbol "class Celestials * gCelestials" (?gCelestials@@3PAVCelestials@@A)
1>sky.obj : error LNK2001: unresolved external symbol "class Celestials * gCelestials" (?gCelestials@@3PAVCelestials@@A)
1>terrRender.obj : error LNK2001: unresolved external symbol "class Celestials * gCelestials" (?gCelestials@@3PAVCelestials@@A)
1>fluidRender.obj : error LNK2019: unresolved external symbol "public: void __thiscall Celestials::DisableLighting(void)" (?DisableLighting@Celestials@@QAEXXZ) referenced in function "public: void __thiscall fluid::Render(bool &)" (?Render@fluid@@QAEXAA_N@Z)
1>terrRender.obj : error LNK2001: unresolved external symbol "public: void __thiscall Celestials::DisableLighting(void)" (?DisableLighting@Celestials@@QAEXXZ)
1>fluidRender.obj : error LNK2019: unresolved external symbol "public: void __thiscall Celestials::EnableLighting(float)" (?EnableLighting@Celestials@@QAEXM@Z) referenced in function "public: void __thiscall fluid::Render(bool &)" (?Render@fluid@@QAEXAA_N@Z)
1>terrRender.obj : error LNK2001: unresolved external symbol "public: void __thiscall Celestials::EnableLighting(float)" (?EnableLighting@Celestials@@QAEXM@Z)
1>player.obj : error LNK2019: unresolved external symbol "public: __thiscall HeightChangeEvent::HeightChangeEvent(void)" (??0HeightChangeEvent@@QAE@XZ) referenced in function "public: void __thiscall Player::sendHeightToClient(float,int)" (?sendHeightToClient@Player@@QAEXMH@Z)
1>player.obj : error LNK2019: unresolved external symbol "public: void __thiscall BitmapText::setText(char const *)" (?setText@BitmapText@@QAEXPBD@Z) referenced in function "private: void __thiscall Player::generateNameBitmap(void)" (?generateNameBitmap@Player@@AAEXXZ)
1>player.obj : error LNK2019: unresolved external symbol "public: __thiscall BitmapText::BitmapText(class GBitmap const &)" (??0BitmapText@@QAE@ABVGBitmap@@@Z) referenced in function "private: void __thiscall Player::generateNameBitmap(void)" (?generateNameBitmap@Player@@AAEXXZ)
1>player.obj : error LNK2019: unresolved external symbol "public: static int __cdecl TeamCircleManager::findCircle(class Player *)" (?findCircle@TeamCircleManager@@SAHPAVPlayer@@@Z) referenced in function "public: int __thiscall Player::getCircleNumber(void)" (?getCircleNumber@Player@@QAEHXZ)
1>player.obj : error LNK2019: unresolved external symbol "public: static void __cdecl TeamCircleManager::joinCircle(class Player *,int)" (?joinCircle@TeamCircleManager@@SAXPAVPlayer@@H@Z) referenced in function "public: void __thiscall Player::playerJoinCircle(int)" (?playerJoinCircle@Player@@QAEXH@Z)
1>player.obj : error LNK2019: unresolved external symbol "public: static int __cdecl TeamCircleManager::addNewCircle(class Player *)" (?addNewCircle@TeamCircleManager@@SAHPAVPlayer@@@Z) referenced in function "public: int __thiscall Player::playerCreateNewCircle(void)" (?playerCreateNewCircle@Player@@QAEHXZ)
1>player.obj : error LNK2019: unresolved external symbol "public: static void __cdecl TeamCircleManager::leaveCircle(class Player *)" (?leaveCircle@TeamCircleManager@@SAXPAVPlayer@@@Z) referenced in function "public: void __thiscall Player::playerLeaveCircle(void)" (?playerLeaveCircle@Player@@QAEXXZ)
1>player.obj : error LNK2019: unresolved external symbol "public: __thiscall BitmapText::BitmapText(void)" (??0BitmapText@@QAE@XZ) referenced in function "public: __thiscall Player::Player(void)" (??0Player@@QAE@XZ)
1>player.obj : error LNK2019: unresolved external symbol "public: __thiscall AnimationEvent::AnimationEvent(void)" (??0AnimationEvent@@QAE@XZ) referenced in function "public: void __thiscall Player::sendAnimationRequest(char const *)" (?sendAnimationRequest@Player@@QAEXPBD@Z)
1>player.obj : error LNK2019: unresolved external symbol "public: __thiscall ChatChangeEvent::ChatChangeEvent(void)" (??0ChatChangeEvent@@QAE@XZ) referenced in function "private: void __thiscall Player::sendChatUpdateToServer(char const *)" (?sendChatUpdateToServer@Player@@AAEXPBD@Z)
1>player.obj : error LNK2019: unresolved external symbol "public: __thiscall ClientJoinChatEvent::ClientJoinChatEvent(void)" (??0ClientJoinChatEvent@@QAE@XZ) referenced in function "public: void __thiscall Player::sendServerJoinCircle(int)" (?sendServerJoinCircle@Player@@QAEXH@Z)
1>player.obj : error LNK2019: unresolved external symbol "public: __thiscall ClientLeaveChatEvent::ClientLeaveChatEvent(void)" (??0ClientLeaveChatEvent@@QAE@XZ) referenced in function "public: void __thiscall Player::sendServerLeaveCircle(void)" (?sendServerLeaveCircle@Player@@QAEXXZ)
1>player.obj : error LNK2019: unresolved external symbol "public: __thiscall TeleportEvent::TeleportEvent(void)" (??0TeleportEvent@@QAE@XZ) referenced in function "public: void __thiscall Player::tellServerTeleportPlayer(char const *,unsigned int)" (?tellServerTeleportPlayer@Player@@QAEXPBDI@Z)
1>player.obj : error LNK2019: unresolved external symbol "public: __thiscall PlayerTeleportEvent::PlayerTeleportEvent(void)" (??0PlayerTeleportEvent@@QAE@XZ) referenced in function "public: void __thiscall Player::tellServerTeleportToPlayer(int)" (?tellServerTeleportToPlayer@Player@@QAEXH@Z)
1>fxSunLight.obj : error LNK2019: unresolved external symbol "public: void __thiscall Celestials::UpdateSunPosition(void)" (?UpdateSunPosition@Celestials@@QAEXXZ) referenced in function "private: void __thiscall fxSunLight::AnimateSun(float)" (?AnimateSun@fxSunLight@@AAEXM@Z)
1>..\engine\out.Plugin.Release/np3DPlugin.dll : fatal error LNK1120: 22 unresolved externals
1>Build log was saved at "file://c:\TORQUE_HEAD_DEV\torque\engine\out.Plugin.Release\BuildLog.htm"
1>np3DPlugin - 30 error(s), 76 warning(s)
#3
12/21/2006 (3:20 pm)
Ahhhrg, ignore this post.

I'm using the MMOKit and have introduced my own files into the engine. All I needed to do was copy some additional MMOKit .cc and .h files and my own unique ones into the IEPlugin project... obviously it had no idea about them!!

Gords