Error, learning how to solve them


#1

I have this error appearing. Not sure how to deduce what it is? I’m new to JUCE and as things get more advanced I’m getting more errors that stop me in my tracks. How can I learn how to discover what bug reports mean, regarding juce?


#2

This is a linker error. ld is the linker on macOS. The compiler takes source files (.cpp and .mm files in JUCE) and produces object files (.o files on macOS). The linker combines the object files to produce an executable or a library.

In your example, the linker complains that include_juce_gui_basics.o needs juce::componentPeerAboutToChange(), but no other .o file is defining it.

juce::componentPeerAboutToChange() is defined in JUCE/modules/juce_opengl/native/juce_OpenGL_osx.h. juce_gui_basics only needs that function when JUCE_MODULE_AVAILABLE_juce_opengl is defined and non-zero (usually set to 1).

It seems that JUCE_MODULE_AVAILABLE_juce_opengl is defined (I guess in the AppConfig.h header generated by Projucer), but include_juce_opengl.mm is not compiled when building your project.


#3

I’m not sure quite what that means, I think i was missing a class and it seems to work now…
I now have this error05

I think it must have something to do with projucer and set up in xcode?


#4

It’s another linker error.

This one is telling you that it can’t find a function called createPluginFilter(). You need to provide this function with your implementation of your AudioProcessor. If you look at the demo plug-in you can see it here:

This will get created for you automatically when you start a new audio plug-in project from the Projucer.