MSAFluid project linker errors VS2010

So I’m trying to build the example that comes with the MSAFluid library, as they were attempting to do in this thread: http://forum.openframeworks.cc/t/compiling-msalibs/4895/1

I’m getting linker errors that were brought up there, but don’t seem to be solved.

  
2>  adding resource. type:MANIFEST, name:1, language:0x0409, flags:0x30, size:2  
2>main.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall MSA::FluidSolver::~FluidSolver(void)" (??1FluidSolver@MSA@@UAE@XZ) referenced in function __unwindfunclet$??0msaFluidParticlesApp@@QAE@XZ$0  
2>main.obj : error LNK2019: unresolved external symbol "public: __thiscall ofxSimpleGuiToo::ofxSimpleGuiToo(void)" (??0ofxSimpleGuiToo@@QAE@XZ) referenced in function "public: __thiscall msaFluidParticlesApp::msaFluidParticlesApp(void)" (??0msaFluidParticlesApp@@QAE@XZ)  
2>main.obj : error LNK2019: unresolved external symbol "public: __thiscall MSA::FluidSolver::FluidSolver(void)" (??0FluidSolver@MSA@@QAE@XZ) referenced in function "public: __thiscall msaFluidParticlesApp::msaFluidParticlesApp(void)" (??0msaFluidParticlesApp@@QAE@XZ)  
2>main.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall MSA::FluidDrawerBase::~FluidDrawerBase(void)" (??1FluidDrawerBase@MSA@@UAE@XZ) referenced in function __unwindfunclet$??0FluidDrawerGl@MSA@@QAE@XZ$0  
2>main.obj : error LNK2019: unresolved external symbol "public: __thiscall MSA::FluidDrawerBase::FluidDrawerBase(void)" (??0FluidDrawerBase@MSA@@QAE@XZ) referenced in function "public: __thiscall MSA::FluidDrawerGl::FluidDrawerGl(void)" (??0FluidDrawerGl@MSA@@QAE@XZ)  
2>main.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall MSA::FluidDrawerBase::draw(float,float,float,float)" (?draw@FluidDrawerBase@MSA@@UAEXMMMM@Z)  
2>main.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall MSA::FluidDrawerBase::draw(float,float)" (?draw@FluidDrawerBase@MSA@@UAEXMM@Z)  
2>main.obj : error LNK2019: unresolved external symbol "public: int __thiscall MSA::FluidSolver::getHeight(void)const " (?getHeight@FluidSolver@MSA@@QBEHXZ) referenced in function "protected: virtual void __thiscall MSA::FluidDrawerGl::createTexture(void)" (?createTexture@FluidDrawerGl@MSA@@MAEXXZ)  
2>main.obj : error LNK2019: unresolved external symbol "public: int __thiscall MSA::FluidSolver::getWidth(void)const " (?getWidth@FluidSolver@MSA@@QBEHXZ) referenced in function "protected: virtual void __thiscall MSA::FluidDrawerGl::createTexture(void)" (?createTexture@FluidDrawerGl@MSA@@MAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: void __thiscall ofxSimpleGuiToo::setAutoSave(bool)" (?setAutoSave@ofxSimpleGuiToo@@QAEX_N@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class ofxSimpleGuiPage & __thiscall ofxSimpleGuiPage::setXMLName(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?setXMLName@ofxSimpleGuiPage@@QAEAAV1@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class ofxSimpleGuiPage & __thiscall ofxSimpleGuiToo::currentPage(void)" (?currentPage@ofxSimpleGuiToo@@QAEAAVofxSimpleGuiPage@@XZ) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: void __thiscall ofxSimpleGuiToo::setDefaultKeys(bool)" (?setDefaultKeys@ofxSimpleGuiToo@@QAEX_N@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class ofxSimpleGuiToggle & __thiscall ofxSimpleGuiToo::addToggle(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,bool &)" (?addToggle@ofxSimpleGuiToo@@QAEAAVofxSimpleGuiToggle@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AA_N@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class ofxSimpleGuiComboBox & __thiscall ofxSimpleGuiToo::addComboBox(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int &,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *)" (?addComboBox@ofxSimpleGuiToo@@QAEAAVofxSimpleGuiComboBox@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAHHPAV34@@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2001: unresolved external symbol "public: static class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const * const MSA::FluidDrawerBase::drawOptionTitles" (?drawOptionTitles@FluidDrawerBase@MSA@@2QBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@B)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class ofxSimpleGuiSliderFloat & __thiscall ofxSimpleGuiToo::addSlider(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,float &,float,float)" (?addSlider@ofxSimpleGuiToo@@QAEAAVofxSimpleGuiSliderFloat@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAMMM@Z) referencedin function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class ofxSimpleGuiButton & __thiscall ofxSimpleGuiToo::addButton(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,bool &)" (?addButton@ofxSimpleGuiToo@@QAEAAVofxSimpleGuiButton@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AA_N@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class ofxSimpleGuiSliderInt & __thiscall ofxSimpleGuiToo::addSlider(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int &,int,int)" (?addSlider@ofxSimpleGuiToo@@QAEAAVofxSimpleGuiSliderInt@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAHHH@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class MSA::FluidSolver * __thiscall MSA::FluidDrawerBase::setup(class MSA::FluidSolver *)" (?setup@FluidDrawerBase@MSA@@QAEPAVFluidSolver@2@PAV32@@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class MSA::FluidSolver & __thiscall MSA::FluidSolver::setColorDiffusion(float)" (?setColorDiffusion@FluidSolver@MSA@@QAEAAV12@M@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class MSA::FluidSolver & __thiscall MSA::FluidSolver::setVisc(float)" (?setVisc@FluidSolver@MSA@@QAEAAV12@M@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class MSA::FluidSolver & __thiscall MSA::FluidSolver::setDeltaT(float)" (?setDeltaT@FluidSolver@MSA@@QAEAAV12@M@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class MSA::FluidSolver & __thiscall MSA::FluidSolver::setFadeSpeed(float)" (?setFadeSpeed@FluidSolver@MSA@@QAEAAV12@M@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class MSA::FluidSolver & __thiscall MSA::FluidSolver::enableRGB(bool)" (?enableRGB@FluidSolver@MSA@@QAEAAV12@_N@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class MSA::FluidSolver & __thiscall MSA::FluidSolver::setup(int,int)" (?setup@FluidSolver@MSA@@QAEAAV12@HH@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::setup(void)" (?setup@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: __thiscall MSA::ColorT<float>::ColorT<float>(enum MSA::ColorModel,float,float,float)" (??0?$ColorT@M@MSA@@QAE@W4ColorModel@1@MMM@Z) referenced in function "public: void __thiscall msaFluidParticlesApp::addToFluid(class MSA::Vec2<float>,class MSA::Vec2<float>,bool,bool)" (?addToFluid@msaFluidParticlesApp@@QAEXV?$Vec2@M@MSA@@0_N1@Z)  
2>Particle.obj : error LNK2001: unresolved external symbol "public: __thiscall MSA::ColorT<float>::ColorT<float>(enum MSA::ColorModel,float,float,float)" (??0?$ColorT@M@MSA@@QAE@W4ColorModel@1@MMM@Z)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: void __thiscall MSA::FluidSolver::update(void)" (?update@FluidSolver@MSA@@QAEXXZ) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::update(void)" (?update@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: class MSA::FluidSolver & __thiscall MSA::FluidSolver::setSize(int,int)" (?setSize@FluidSolver@MSA@@QAEAAV12@HH@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::update(void)" (?update@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: void __thiscall ofxSimpleGuiToo::draw(void)" (?draw@ofxSimpleGuiToo@@QAEXXZ) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::draw(void)" (?draw@msaFluidParticlesApp@@UAEXXZ)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: void __thiscall MSA::FluidSolver::reset(void)" (?reset@FluidSolver@MSA@@QAEXXZ) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::keyPressed(int)" (?keyPressed@msaFluidParticlesApp@@UAEXH@Z)  
2>msaFluidParticlesApp.obj : error LNK2019: unresolved external symbol "public: void __thiscall MSA::FluidDrawerBase::setDrawMode(enum MSA::FluidDrawMode)" (?setDrawMode@FluidDrawerBase@MSA@@QAEXW4FluidDrawMode@2@@Z) referenced in function "public: virtual void __thiscall msaFluidParticlesApp::keyPressed(int)" (?keyPressed@msaFluidParticlesApp@@UAEXH@Z)  
2>bin\MSAFluidExample_debug.exe : fatal error LNK1120: 32 unresolved externals  

I’m wondering if there’s something firing out of order to make this happen or if I’m missing some setting that I need to change. Any hints would be very helpful.

EDIT: I figured it out. On the msdn page for the linker error (http://msdn.microsoft.com/en-us/library/799kze2z(VS.80.aspx), someone commented

Because MSVC is so crude and brainless, it will quite easily let you add only the header ("*.h") file to the project, without adding the source ("*.cpp") file. All the other header and source files will compile, but none of the symbols defined in the missing source will be linked in.

The “Add Existing Item” dialog does not filter out items that already exist in the project, nor does it highlight items that are NOT in the project. Nor can the manual filter be set to only “.h” or “.cpp” files.

Basically, you have to include every last addon file to your project rather than just point to them with the include paths since a lot of them are defined in .cpp files (which the include path setting won’t look for or grab). This might have been common knowledge, but this was my first foray into oF. Leaving this up so any others with the same problem will be able to find the solution.