   Easy way to fix unresolved externals
  What's an easy way to fix unresolved externals, like this:1>Bullet.obj : error LNK2019: unresolved external symbol "public: class ParticleSystem * __thiscall Engine::GetParticleSys(void)" (?GetParticleSys@Engine@@QAEPAVParticleSystem@@XZ) referenced in function "public: void __thiscall Bullet::Update(float)" (?Update@Bullet@@QAEXM@Z)1>Game.obj : error LNK2001: unresolved external symbol "public: class ParticleSystem * __thiscall Engine::GetParticleSys(void)" (?GetParticleSys@Engine@@QAEPAVParticleSystem@@XZ)1>Weapon.obj : error LNK2001: unresolved external symbol "public: class ParticleSystem * __thiscall Engine::GetParticleSys(void)" (?GetParticleSys@Engine@@QAEPAVParticleSystem@@XZ)1>Bullet.obj : error LNK2019: unresolved external symbol "public: class BillboardSystem * __thiscall Engine::GetBBParticleSys(void)" (?GetBBParticleSys@Engine@@QAEPAVBillboardSystem@@XZ) referenced in function "public: void __thiscall Bullet::Update(float)" (?Update@Bullet@@QAEXM@Z)1>Game.obj : error LNK2001: unresolved external symbol "public: class BillboardSystem * __thiscall Engine::GetBBParticleSys(void)" (?GetBBParticleSys@Engine@@QAEPAVBillboardSystem@@XZ)1>Weapon.obj : error LNK2001: unresolved external symbol "public: class BillboardSystem * __thiscall Engine::GetBBParticleSys(void)" (?GetBBParticleSys@Engine@@QAEPAVBillboardSystem@@XZ)1>Game.obj : error LNK2019: unresolved external symbol "public: class GamePhysics * __thiscall Engine::GetPhysics(void)" (?GetPhysics@Engine@@QAEPAVGamePhysics@@XZ) referenced in function "public: void __thiscall Game::HandleNetworkMessage(struct ReceivedMessage *)" (?HandleNetworkMessage@Game@@QAEXPAUReceivedMessage@@@Z)1>engine.lib(ParticleSystem.obj) : error LNK2001: unresolved external symbol "public: class GamePhysics * __thiscall Engine::GetPhysics(void)" (?GetPhysics@Engine@@QAEPAVGamePhysics@@XZ)Is there a command line option that can turn these into warnings and force it to compile? Or is there any easy fix without me having to go back to a earlier version and spend more hours adding my new features back.Regards,~Andrew   
  What do you expect to happen if you could force it to compile? An unresolved symbol is something you use in your code but isn't defined anywhere. For example, you try to call Engine::GetParticleSys() but there just isn't any code for that function. What do you expect to happen if you could force a call to a function that doesn't even exist?The easiest, or rather, the only way, to fix it is to ensure the definition of the unresolved symbol exists somewhere. For example, have you included the file that contains that function (either the source code added to the project, or the library file to the linker settings)?   ;  Most likely you can get the same effect by replacing your entire program with this one:int main(){    delete reinterpret_cast<void*>(42);}Now, whenever you run it, you'll get a crash, just like you would if you forced such a program to compile!   ;  To swim, a fish needs water.To fly, a bird needs air.To root, a tree needs soil.To call, a programmer needs functions.   ;Quote:Original post by Mike.PopoloskiMost likely you can get the same effect by replacing your entire program with this one:*** Source Snippet Removed ***Actually that program deletes life, the universe and everything. Don't try to run it...   ;Quote:Original post by kloffyQuote:Original post by Mike.PopoloskiMost likely you can get the same effect by replacing your entire program with this one:*** Source Snippet Removed ***Actually that program deletes life, the universe and everything. Don't try to run it...Not necessarily. In C++, "42" is in base 10.   ;Quote:Original post by phresnelNot necessarily. In C++, "42" is in base 10.Indeed, I stand corrected. Running it should be safe after all... :D   