Again Linker errors


#1

Hi, just updated to latest juce version and had to change my l&F class to inherit from LookAndFeel_V2.

But now I am struggeling with the below linker errors. I have rebuilt the project with Introjucer after updating

and slightly get wondering whether it is my stupidity to fail to get it to work...

My L&F class is a Singleton.

Any hint is much appreciated!

Joerg

 

Ld build/Debug_Standalone/VCommander_debug.app/Contents/MacOS/VCommander_debug normal i386

    cd "/Eigene_Dateien/VST_Development/Eigene Projekte/VCommander/Standalone/Builds/MacOSX"

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch i386 "-L/Eigene_Dateien/VST_Development/Eigene Projekte/VCommander/Standalone/Builds/MacOSX/build/Debug_Standalone" "-F/Eigene_Dateien/VST_Development/Eigene Projekte/VCommander/Standalone/Builds/MacOSX/build/Debug_Standalone" -filelist /Users/FinalFanta54321/Library/Developer/Xcode/DerivedData/VCommander-cahmngejdamnhqfrpsrqzjogfypw/Build/Intermediates/VCommander.build/Debug_Standalone/VCommander.build/Objects-normal/i386/VCommander_debug.LinkFileList -framework Accelerate -framework AudioToolbox -framework Carbon -framework Cocoa -framework CoreAudio -framework CoreMIDI -framework DiscRecording -framework IOKit -framework QuartzCore -framework WebKit -o "/Eigene_Dateien/VST_Development/Eigene Projekte/VCommander/Standalone/Builds/MacOSX/build/Debug_Standalone/VCommander_debug.app/Contents/MacOS/VCommander_debug"


Undefined symbols for architecture i386:

  "juce::Button::LookAndFeelMethods::drawButtonText(juce::Graphics&, juce::TextButton&, bool, bool)", referenced from:

      VCLookAndFeel::drawButtonText(juce::Graphics&, juce::TextButton&, bool, bool) in VCLookAndFeel.o

  "juce::Button::LookAndFeelMethods::drawButtonBackground(juce::Graphics&, juce::Button&, juce::Colour const&, bool, bool)", referenced from:

      VCLookAndFeel::drawButtonBackground(juce::Graphics&, juce::Button&, juce::Colour const&, bool, bool) in VCLookAndFeel.o

  "juce::Slider::LookAndFeelMethods::drawRotarySlider(juce::Graphics&, int, int, int, int, float, float, float, juce::Slider&)", referenced from:

      VCLookAndFeel::drawRotarySlider(juce::Graphics&, int, int, int, int, float, float, float, juce::Slider&) in VCLookAndFeel.o

ld: symbol(s) not found for architecture i386

clang: error: linker command failed with exit code 1 (use -v to see invocation)

 


#2

It looks like you may have some code that's trying to invoke parent class methods by saying e.g. "LookAndFeel::drawButtonText". Since these are now pure-virtual methods, you'd need to change it to LookAndFeel_V2::drawButtonText or whatever. Strange that it'd let you get as far as the link stage though.


#3

Oh yeah, my bad.

Thanks Jules!