I just re-saved my .jucer file and now my project won’t build on Linux (Ubuntu 16.04)
I get the following error:
../../../../modules/juce/modules/juce_graphics/juce_graphics.cpp:98:24: fatal error: ft2build.h: No such file or directory
#include <ft2build.h>
^
compilation terminated.
ft2build.h
is on my system. The Projucer still builds, but my project doesn’t. Very odd, any ideas?
Could you please build with V=1 make
and share the compiler command-line?
Compiling include_juce_graphics.cpp
g++ -MMD -DLINUX=1 -DNDEBUG=1 -DSAMPLER_PLUGIN=1 -DJUCE_WOLFRAM=1 -DVST_FORCE_DEPRECATED=0 -DSTRUM=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=11.0.6 -DJUCE_APP_VERSION_HEX=0xb0006 -pthread -I../../../../modules/juce/modules/juce_audio_processors/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules -I../../../../modules/juce/modules -I../../../../modules/tracktion_utilities/modules -I../../../../modules/tracktion_engine_dev/modules -I../../../../modules/plugins -I../../../common/Source/3rd_party/ -I../../../common/Source/3rd_party/VST3_SDK -m64 -Os -std=gnu++14 -Wno-multichar -mno-sse4 -mno-sse4.1 -mno-sse4.2 -std=c++14 -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0 -o "build/intermediate/Release/include_juce_graphics_f817e147.o" -c "../../JuceLibraryCode/include_juce_graphics.cpp"
In file included from ../../JuceLibraryCode/include_juce_graphics.cpp:9:0:
../../../../modules/juce/modules/juce_graphics/juce_graphics.cpp:98:24: fatal error: ft2build.h: No such file or directory
#include <ft2build.h>
Found the issue, I had some stuff in pkg-config libraries
that wasn’t supposed to be there. Not sure what that has to do with finding headers?
Calling
$(shell pkg-config --cflags <libraries>)
returns compiler flags needed to use these libraries, including -I
flags for finding headers.
If pkg-config
fails because of “stuff […] that wasn’t supposed to be there”, then it will return an empty string and the compiler will be missing some important flags.