I’ve got really strange errors with the latest “official” juce (1.52.110) under linux. Got a bunch of errors like those :
../../obj/gmake/x32/Debug/Fusion/application_startup.o:(.rodata._ZTV17FusionApplication[vtable for FusionApplication]+0x54): undefined reference to `non-virtual thunk to juce::JUCEApplication::actionListenerCallback(juce::String const&)'
../../obj/gmake/x32/Debug/Fusion/audio_brick_player.o:(.rodata._ZTVN2sb3gui26AudioBrickTransportControlE[vtable for sb::gui::AudioBrickTransportControl]+0x110): undefined reference to `non-virtual thunk to juce::Slider::handleAsyncUpdate()'
I have no idea about what it means, and google hasn’t been a great help so far.
The thing is it’s a new problem. Last juce version we used was 1.52.69 and it linked just fine ! I tried again just now, and it works with the old version.
Was there a change in linking or something like that ? Anyone else experiencing this issue ?
I seem to be having exactly the same problem. The strange thing is that this exact symbol seems to be in the archive Juce builds.
For example, I get the errors
ApplicationStartup.o:(.rodata._ZTV8AppClass[vtable for AppClass]+0xa8): undefined reference to `non-virtual thunk to juce::JUCEApplication::actionListenerCallback(juce::String const&)'
Stretch.o:(.rodata._ZTV9DasSlider[vtable for DasSlider]+0x210): undefined reference to `non-virtual thunk to juce::Slider::handleAsyncUpdate()'
Stretch.o:(.rodata._ZTV9DasSlider[vtable for DasSlider]+0x238): undefined reference to `non-virtual thunk to juce::Slider::buttonClicked(juce::Button*)'
Stretch.o:(.rodata._ZTV9DasSlider[vtable for DasSlider]+0x268): undefined reference to `non-virtual thunk to juce::Slider::labelTextChanged(juce::Label*)'
Stretch.o:(.rodata._ZTV9DasSlider[vtable for DasSlider]+0x290): undefined reference to `non-virtual thunk to juce::Slider::valueChanged(juce::Value&)'
Progressbar.o:(.rodata._ZTV6MyTask[vtable for MyTask]+0x50): undefined reference to `non-virtual thunk to juce::ThreadWithProgressWindow::timerCallback()'
Which indicates that the symbol is defined in the library, which I most definitely am linking with, because if I remove the line “-ljuicedebug” from my linker options, I get a million Undefined references, rather than just six.
Whenever I’ve had a ‘non-virtual thunk’ problem, it always seems to just be caused by the build getting out-of-step, and a good clean rebuild often sorts it out…