[SOLVED] Xcode linker error related to ofxGui

#1

Migrating an application from 0.9.8 to 0.10.1. I resolved a bunch of other issues, and now am down to just one family of problems. It seems the linker can’t find certain implementations…below is a subset of the error, any ideas would be greatly appreciated. Thanks!

UPDATE
I ran the project generator to regenerate the project file, and the problem disappeared.

Undefined symbols for architecture x86_64:
  "ofxColorPicker_<float>::setShape(ofRectangle)", referenced from:
      vtable for ofxColorPicker_<float> in ofxSliderGroup.o
  "ofxColorPicker_<float>::setShape(float, float, float, float)", referenced from:
      vtable for ofxColorPicker_<float> in ofxSliderGroup.o
  "ofxColorPicker_<float>::mouseMoved(ofMouseEventArgs&)", referenced from:
      vtable for ofxColorPicker_<float> in ofxSliderGroup.o
  "ofxColorPicker_<float>::mousePressed(ofMouseEventArgs&)", referenced from:
      vtable for ofxColorPicker_<float> in ofxSliderGroup.o
  "ofxColorPicker_<float>::mouseDragged(ofMouseEventArgs&)", referenced from:
      vtable for ofxColorPicker_<float> in ofxSliderGroup.o
  "ofxColorPicker_<float>::mouseReleased(ofMouseEventArgs&)", referenced from:
      vtable for ofxColorPicker_<float> in ofxSliderGroup.o
  "ofxColorPicker_<float>::setValue(float, float, bool)", referenced from:
      vtable for ofxColorPicker_<float> in ofxSliderGroup.o
  "ofxColorPicker_<unsigned short>::setShape(ofRectangle)", referenced from:
      vtable for ofxColorPicker_<unsigned short> in ofxSliderGroup.o
  "ofxColorPicker_<unsigned short>::mouseMoved(ofMouseEventArgs&)", referenced from:
      vtable for ofxColorPicker_<unsigned short> in ofxSliderGroup.o
  "ofxColorPicker_<unsigned short>::mousePressed(ofMouseEventArgs&)", referenced from:
      vtable for ofxColorPicker_<unsigned short> in ofxSliderGroup.o
  "ofxColorPicker_<unsigned short>::mouseDragged(ofMouseEventArgs&)", referenced from:
      vtable for ofxColorPicker_<unsigned short> in ofxSliderGroup.o
  "ofxColorPicker_<unsigned short>::render()", referenced from:
      vtable for ofxColorPicker_<unsigned short> in ofxSliderGroup.o
  "ofxColorPicker_<unsigned short>::setValue(float, float, bool)", referenced from:
      vtable for ofxColorPicker_<unsigned short> in ofxSliderGroup.o
  "ofxColorPicker_<unsigned char>::getColorScale()", referenced from:
      ofxColorSlider_<unsigned char>::onMinimize() in ofxSliderGroup.o
  "ofxColorPicker_<unsigned char>::render()", referenced from:
      vtable for ofxColorPicker_<unsigned char> in ofxSliderGroup.o
  "ofxInputField<unsigned long>::mouseMoved(ofMouseEventArgs&)", referenced from:
      vtable for ofxInputField<unsigned long> in ofxSlider.o
  "ofxColorPicker_<unsigned short>::getParameter()", referenced from:
      ofxColorSlider_<unsigned short>::setup(ofParameter<ofColor_<unsigned short> >, float, float) in ofxSliderGroup.o
      ofxColorSlider_<unsigned short>::changeSlider(void const*, unsigned short&) in ofxSliderGroup.o
      ofxColorSlider_<unsigned short>::getParameter() in ofxSliderGroup.o
      ofxColorSlider_<unsigned short>::onMinimize() in ofxSliderGroup.o
      vtable for ofxColorPicker_<unsigned short> in ofxSliderGroup.o
  "ofxColorPicker_<unsigned short>::ofxColorPicker_()", referenced from:
      ofxColorSlider_<unsigned short>::ofxColorSlider_(ofParameter<ofColor_<unsigned short> >, float, float) in ofxSliderGroup.o
  "ofxColorPicker_<unsigned char>::setup(ofParameter<ofColor_<unsigned char> >, float, float)", referenced from:
      ofxColorSlider_<unsigned char>::setup(ofParameter<ofColor_<unsigned char> >, float, float) in ofxSliderGroup.o
  "ofxColorPicker_<unsigned short>::mouseReleased(ofMouseEventArgs&)", referenced from:
      vtable for ofxColorPicker_<unsigned short> in ofxSliderGroup.o
  "ofxColorPicker_<unsigned char>::ofxColorPicker_()", referenced from:
      ofxColorSlider_<unsigned char>::ofxColorSlider_(ofParameter<ofColor_<unsigned char> >, float, float) in ofxSliderGroup.o
  "ofxInputField<unsigned long>::keyPressed(ofKeyEventArgs&)", referenced from:
      vtable for ofxInputField<unsigned long> in ofxSlider.o
  "ofxInputField<unsigned long>::charPressed(unsigned int&)", referenced from:
      vtable for ofxInputField<unsigned long> in ofxSlider.o
  "ofxInputField<unsigned long>::drawCursor()", referenced from:
      vtable for ofxInputField<unsigned long> in ofxSlider.o
  "ofxInputField<long long>::mouseMoved(ofMouseEventArgs&)", referenced from:
      vtable for ofxInputField<long long> in ofxSlider.o
  "ofxInputField<unsigned long>::getParameter()", referenced from:
      vtable for ofxInputField<unsigned long> in ofxSlider.o
  "ofxInputField<double>::mouseScrolled(ofMouseEventArgs&)", referenced from:
      vtable for ofxInputField<double> in ofxSlider.o
  "ofxColorPicker_<float>::mouseScrolled(ofMouseEventArgs&)", referenced from:
      vtable for ofxColorPicker_<float> in ofxSliderGroup.o
  "ofxInputField<double>::setValue(float, float, bool)", referenced from:
      vtable for ofxInputField<double> in ofxSlider.o
  "ofxInputField<unsigned long long>::mouseReleased(ofMouseEventArgs&)", referenced from:
      ofxSlider<unsigned long long>::mouseReleased(ofMouseEventArgs&) in ofxSlider.o
      vtable for ofxInputField<unsigned long long> in ofxSlider.o
  "ofxColorPicker_<unsigned short>::generateDraw()", referenced from:
      vtable for ofxColorPicker_<unsigned short> in ofxSliderGroup.o
  "ofxInputField<double>::keyPressed(ofKeyEventArgs&)", referenced from:
      vtable for ofxInputField<double> in ofxSlider.o
  "ofxInputField<unsigned short>::mousePressed(ofMouseEventArgs&)", referenced from:
      ofxSlider<unsigned short>::mousePressed(ofMouseEventArgs&) in ofxSlider.o
      vtable for ofxInputField<unsigned short> in ofxSlider.o
  "ofxInputField<double>::generateDraw()", referenced from:
      ofxSlider<double>::generateDraw() in ofxSlider.o
      vtable for ofxInputField<double> in ofxSlider.o
  "ofxColorPicker_<unsigned char>::setShape(float, float, float, float)", referenced from:
      vtable for ofxColorPicker_<unsigned char> in ofxSliderGroup.o
  "ofxInputField<double>::drawCursor()", referenced from:
      vtable for ofxInputField<double> in ofxSlider.o
  "ofxInputField<float>::getParameter()", referenced from:
      vtable for ofxInputField<float> in ofxSlider.o
  "ofxColorPicker_<unsigned char>::getParameter()", referenced from:
      ofxColorSlider_<unsigned char>::setup(ofParameter<ofColor_<unsigned char> >, float, float) in ofxSliderGroup.o
      ofxColorSlider_<unsigned char>::changeSlider(void const*, unsigned char&) in ofxSliderGroup.o
      ofxColorSlider_<unsigned char>::getParameter() in ofxSliderGroup.o
      ofxColorSlider_<unsigned char>::onMinimize() in ofxSliderGroup.o
      vtable for ofxColorPicker_<unsigned char> in ofxSliderGroup.o
  "ofxInputField<float>::mouseScrolled(ofMouseEventArgs&)", referenced from:
      vtable for ofxInputField<float> in ofxSlider.o
  "ofxInputField<short>::mouseReleased(ofMouseEventArgs&)", referenced from:
      ofxSlider<short>::mouseReleased(ofMouseEventArgs&) in ofxSlider.o
      vtable for ofxInputField<short> in ofxSlider.o
  "ofxInputField<float>::setValue(float, float, bool)", referenced from:
      vtable for ofxInputField<float> in ofxSlider.o
  "ofxInputField<unsigned int>::getParameter()", referenced from:
      vtable for ofxInputField<unsigned int> in ofxSlider.o
  "ofxInputField<float>::drawCursor()", referenced from:
      vtable for ofxInputField<float> in ofxSlider.o
  "ofxInputField<unsigned long long>::getParameter()", referenced from:
      vtable for ofxInputField<unsigned long long> in ofxSlider.o
  "ofxInputField<unsigned long long>::render()", referenced from:
      vtable for ofxInputField<unsigned long long> in ofxSlider.o
  "ofxInputField<unsigned long long>::setValue(float, float, bool)", referenced from:
      vtable for ofxInputField<unsigned long long> in ofxSlider.o
  "ofxInputField<unsigned long long>::drawCursor()", referenced from:
      vtable for ofxInputField<unsigned long long> in ofxSlider.o
  "ofxInputField<long long>::getParameter()", referenced from:
      vtable for ofxInputField<long long> in ofxSlider.o
  "ofxInputField<unsigned short>::containsValidValue() const", referenced from:
      ofxSlider<unsigned short>::render() in ofxSlider.o
      std::__1::__function::__func<ofxSlider<unsigned short>::setup(ofParameter<unsigned short>, float, float)::'lambda'(), std::__1::allocator<ofxSlider<unsigned short>::setup(ofParameter<unsigned short>, float, float)::'lambda'()>, void ()>::operator()() in ofxSlider.o
  "ofxInputField<short>::setValue(float, float, bool)", referenced from:
      vtable for ofxInputField<short> in ofxSlider.o
  "ofxInputField<long long>::mouseScrolled(ofMouseEventArgs&)", referenced from:
      vtable for ofxInputField<long long> in ofxSlider.o
  "ofxInputField<unsigned long long>::setup(ofParameter<unsigned long long>, float, float)", referenced from:
      ofxSlider<unsigned long long>::setup(ofParameter<unsigned long long>, float, float) in ofxSlider.o
  "ofxColorPicker_<unsigned short>::setup(ofParameter<ofColor_<unsigned short> >, float, float)", referenced from:
      ofxColorSlider_<unsigned short>::setup(ofParameter<ofColor_<unsigned short> >, float, float) in ofxSliderGroup.o
  "ofxInputField<long long>::setValue(float, float, bool)", referenced from:
      vtable for ofxInputField<long long> in ofxSlider.o
  "ofxInputField<int>::keyPressed(ofKeyEventArgs&)", referenced from:
      vtable for ofxInputField<int> in ofxSlider.o
  "ofxInputField<unsigned int>::mouseMoved(ofMouseEventArgs&)", referenced from:
      vtable for ofxInputField<unsigned int> in ofxSlider.o
  "ofxInputField<int>::mouseDragged(ofMouseEventArgs&)", referenced from:
      ofxSlider<int>::mouseDragged(ofMouseEventArgs&) in ofxSlider.o
      vtable for ofxInputField<int> in ofxSlider.o
  "ofxInputField<unsigned int>::render()", referenced from:
      vtable for ofxInputField<unsigned int> in ofxSlider.o
  "ofxInputField<unsigned int>::setValue(float, float, bool)", referenced from:
      vtable for ofxInputField<unsigned int> in ofxSlider.o
  "ofxInputField<unsigned int>::keyPressed(ofKeyEventArgs&)", referenced from:
      vtable for ofxInputField<unsigned int> in ofxSlider.o
  "ofxColorPicker_<unsigned char>::mouseReleased(ofMouseEventArgs&)", referenced from:
      vtable for ofxColorPicker_<unsigned char> in ofxSliderGroup.o
  "ofxInputField<int>::getParameter()", referenced from:
      vtable for ofxInputField<int> in ofxSlider.o
  "ofxInputField<long long>::keyPressed(ofKeyEventArgs&)", referenced from:
      vtable for ofxInputField<long long> in ofxSlider.o
  "ofxInputField<int>::mouseMoved(ofMouseEventArgs&)", referenced from:
      vtable for ofxInputField<int> in ofxSlider.o
  "ofxInputField<float>::mousePressed(ofMouseEventArgs&)", referenced from:
      ofxSlider<float>::mousePressed(ofMouseEventArgs&) in ofxSlider.o
      vtable for ofxInputField<float> in ofxSlider.o
  "ofxInputField<int>::mouseScrolled(ofMouseEventArgs&)", referenced from:
      vtable for ofxInputField<int> in ofxSlider.o
  "ofxInputField<short>::keyPressed(ofKeyEventArgs&)", referenced from:
      vtable for ofxInputField<short> in ofxSlider.o
  "ofxInputField<int>::render()", referenced from:
      vtable for ofxInputField<int> in ofxSlider.o
  "ofxInputField<short>::drawCursor()", referenced from:
      vtable for ofxInputField<short> in ofxSlider.o
  "ofxInputField<int>::charPressed(unsigned int&)", referenced from:
      vtable for ofxInputField<int> in ofxSlider.o
  "ofxInputField<int>::drawCursor()", referenced from:
      vtable for ofxInputField<int> in ofxSlider.o
  "ofxInputField<long long>::charPressed(unsigned int&)", referenced from:
      vtable for ofxInputField<long long> in ofxSlider.o
  "ofxInputField<unsigned short>::render()", referenced from:
      vtable for ofxInputField<unsigned short> in ofxSlider.o
  "ofxInputField<unsigned short>::keyPressed(ofKeyEventArgs&)", referenced from:
      vtable for ofxInputField<unsigned short> in ofxSlider.o
  "ofxColorPicker_<float>::setup(ofParameter<ofColor_<float> >, float, float)", referenced from:
      ofxColorSlider_<float>::setup(ofParameter<ofColor_<float> >, float, float) in ofxSliderGroup.o
  "ofxInputField<unsigned short>::charPressed(unsigned int&)", referenced from:
      vtable for ofxInputField<unsigned short> in ofxSlider.o
  "ofxColorPicker_<float>::render()", referenced from:
      vtable for ofxColorPicker_<float> in ofxSliderGroup.o
  "ofxInputField<unsigned short>::setValue(float, float, bool)", referenced from:
      vtable for ofxInputField<unsigned short> in ofxSlider.o
  "ofxInputField<unsigned short>::mouseScrolled(ofMouseEventArgs&)", referenced from:
      vtable for ofxInputField<unsigned short> in ofxSlider.o
  "ofxInputField<double>::mouseMoved(ofMouseEventArgs&)", referenced from:
      vtable for ofxInputField<double> in ofxSlider.o
  "ofxInputField<unsigned short>::drawCursor()", referenced from:
      vtable for ofxInputField<unsigned short> in ofxSlider.o
  "ofxColorPicker_<unsigned char>::setShape(ofRectangle)", referenced from:
      vtable for ofxColorPicker_<unsigned char> in ofxSliderGroup.o
  "ofxInputField<short>::getParameter()", referenced from:
      vtable for ofxInputField<short> in ofxSlider.o
  "ofxInputField<short>::mouseMoved(ofMouseEventArgs&)", referenced from:
      vtable for ofxInputField<short> in ofxSlider.o
  "ofxInputField<short>::ofxInputField(ofParameter<short>, float, float)", referenced from:
      ofxSlider<short>::ofxSlider(ofParameter<short>, float, float) in ofxSlider.o
  "ofxInputField<short>::mouseScrolled(ofMouseEventArgs&)", referenced from:
      vtable for ofxInputField<short> in ofxSlider.o
  "ofxInputField<unsigned char>::setValue(float, float, bool)", referenced from:
      vtable for ofxInputField<unsigned char> in ofxSlider.o
  "ofxInputField<float>::render()", referenced from:
      vtable for ofxInputField<float> in ofxSlider.o
  "ofxInputField<unsigned char>::keyPressed(ofKeyEventArgs&)", referenced from:
      vtable for ofxInputField<unsigned char> in ofxSlider.o

...

  "ofxColorPicker_<float>::ofxColorPicker_()", referenced from:
      ofxColorSlider_<float>::ofxColorSlider_(ofParameter<ofColor_<float> >, float, float) in ofxSliderGroup.o
  "ofxInputField<signed char>::mouseDragged(ofMouseEventArgs&)", referenced from:
      ofxSlider<signed char>::mouseDragged(ofMouseEventArgs&) in ofxSlider.o
      vtable for ofxInputField<signed char> in ofxSlider.o
  "ofxInputField<signed char>::mouseReleased(ofMouseEventArgs&)", referenced from:
      ofxSlider<signed char>::mouseReleased(ofMouseEventArgs&) in ofxSlider.o
      vtable for ofxInputField<signed char> in ofxSlider.o
  "ofxInputField<double>::render()", referenced from:
      vtable for ofxInputField<double> in ofxSlider.o
  "ofxColorPicker_<float>::generateDraw()", referenced from:
      vtable for ofxColorPicker_<float> in ofxSliderGroup.o
  "ofxColorPicker_<unsigned char>::mouseScrolled(ofMouseEventArgs&)", referenced from:
      vtable for ofxColorPicker_<unsigned char> in ofxSliderGroup.o
  "ofxInputField<unsigned char>::containsValidValue() const", referenced from:
      ofxSlider<unsigned char>::render() in ofxSlider.o
      std::__1::__function::__func<ofxSlider<unsigned char>::setup(ofParameter<unsigned char>, float, float)::'lambda'(), std::__1::allocator<ofxSlider<unsigned char>::setup(ofParameter<unsigned char>, float, float)::'lambda'()>, void ()>::operator()() in ofxSlider.o
  "ofxInputField<short>::mouseDragged(ofMouseEventArgs&)", referenced from:
      ofxSlider<short>::mouseDragged(ofMouseEventArgs&) in ofxSlider.o
      vtable for ofxInputField<short> in ofxSlider.o
  "ofxColorPicker_<unsigned char>::mouseDragged(ofMouseEventArgs&)", referenced from:
      vtable for ofxColorPicker_<unsigned char> in ofxSliderGroup.o
  "ofxInputField<double>::charPressed(unsigned int&)", referenced from:
      vtable for ofxInputField<double> in ofxSlider.o
  "ofxInputField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::ofxInputField(ofParameter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, float, float)", referenced from:
      ofxGuiGroup::add(ofParameter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&) in ofxGuiGroup.o
  "ofxInputField<unsigned char>::render()", referenced from:
      vtable for ofxInputField<unsigned char> in ofxSlider.o
  "ofxInputField<signed char>::containsValidValue() const", referenced from:
      ofxSlider<signed char>::render() in ofxSlider.o
      std::__1::__function::__func<ofxSlider<signed char>::setup(ofParameter<signed char>, float, float)::'lambda'(), std::__1::allocator<ofxSlider<signed char>::setup(ofParameter<signed char>, float, float)::'lambda'()>, void ()>::operator()() in ofxSlider.o
  "ofxInputField<unsigned long long>::keyPressed(ofKeyEventArgs&)", referenced from:
      vtable for ofxInputField<unsigned long long> in ofxSlider.o
  "ofxInputField<unsigned char>::generateDraw()", referenced from:
      ofxSlider<unsigned char>::generateDraw() in ofxSlider.o
      vtable for ofxInputField<unsigned char> in ofxSlider.o
  "ofxInputField<float>::charPressed(unsigned int&)", referenced from:
      vtable for ofxInputField<float> in ofxSlider.o
  "ofxInputField<float>::mouseDragged(ofMouseEventArgs&)", referenced from:
      ofxSlider<float>::mouseDragged(ofMouseEventArgs&) in ofxSlider.o
      vtable for ofxInputField<float> in ofxSlider.o
  "ofxInputField<unsigned int>::setup(ofParameter<unsigned int>, float, float)", referenced from:
      ofxSlider<unsigned int>::setup(ofParameter<unsigned int>, float, float) in ofxSlider.o
  "ofxInputField<float>::mouseMoved(ofMouseEventArgs&)", referenced from:
      vtable for ofxInputField<float> in ofxSlider.o
  "ofxInputField<signed char>::setup(ofParameter<signed char>, float, float)", referenced from:
      ofxSlider<signed char>::setup(ofParameter<signed char>, float, float) in ofxSlider.o
  "ofxColorPicker_<float>::getColorScale()", referenced from:
      ofxColorSlider_<float>::onMinimize() in ofxSliderGroup.o
  "ofxInputField<double>::containsValidValue() const", referenced from:
      ofxSlider<double>::render() in ofxSlider.o
      std::__1::__function::__func<ofxSlider<double>::setup(ofParameter<double>, float, float)::'lambda'(), std::__1::allocator<ofxSlider<double>::setup(ofParameter<double>, float, float)::'lambda'()>, void ()>::operator()() in ofxSlider.o
  "ofxInputField<int>::setup(ofParameter<int>, float, float)", referenced from:
      ofxSlider<int>::setup(ofParameter<int>, float, float) in ofxSlider.o
  "ofxInputField<unsigned short>::setup(ofParameter<unsigned short>, float, float)", referenced from:
      ofxSlider<unsigned short>::setup(ofParameter<unsigned short>, float, float) in ofxSlider.o
  "ofxInputField<double>::ofxInputField(ofParameter<double>, float, float)", referenced from:
      ofxSlider<double>::ofxSlider(ofParameter<double>, float, float) in ofxSlider.o
  "ofxInputField<unsigned long>::ofxInputField(ofParameter<unsigned long>, float, float)", referenced from:
      ofxSlider<unsigned long>::ofxSlider(ofParameter<unsigned long>, float, float) in ofxSlider.o
  "ofxInputField<short>::render()", referenced from:
      vtable for ofxInputField<short> in ofxSlider.o
  "ofxInputField<unsigned char>::charPressed(unsigned int&)", referenced from:
      vtable for ofxInputField<unsigned char> in ofxSlider.o
  "ofxInputField<unsigned long long>::charPressed(unsigned int&)", referenced from:
      vtable for ofxInputField<unsigned long long> in ofxSlider.o
  "ofxInputField<unsigned char>::mouseReleased(ofMouseEventArgs&)", referenced from:
      ofxSlider<unsigned char>::mouseReleased(ofMouseEventArgs&) in ofxSlider.o
      vtable for ofxInputField<unsigned char> in ofxSlider.o
ld: symbol(s) not found for architecture x86_64