Maxime Franchot
Maxime Franchot

Reputation: 1133

Include ft2build.h in project on Linux

I've been trying to compile a JUCE project on Linux debian but a line is giving me an error:

#include <ft2build.h>

And stops compilation. How do I link to this file?

Upvotes: 15

Views: 27573

Answers (2)

JustASteve
JustASteve

Reputation: 21

I know this is an old post but I've been at this problem for hours and hope I can help anyone facing the same issues.
(Note: I am using CMake and NeoVim on Pop!_OS)

After running pkg-config --cflags freetype2 as the comment above suggests, you have to add something like this in your CMakeLists.txt file
include_directories(/usr/include/freetype2 -I/usr/local/include/freetype2 -I/usr/include/libpng16
Also make sure to have the following lines:
find_package(Freetype)
target_link_libraries(project_name freetype)

At this point the code should compile, but in my case I was getting the same error message ('ft2build.h' file not found) in my IDE. This is fixed by adding set(CMAKE_EXPORT_COMPILE_COMMANDS ON) to the CMakeLists.txt file.
After that just call cmake --build . in your build folder and reopen your IDE.

Upvotes: 2

Maxime Franchot
Maxime Franchot

Reputation: 1133

So I've had this issue before and found the straight answer this time.

First, check if you have libfreetype installed. I used:

pkg-config --cflags freetype2

I do have the library installed, so I got this as a result:

-I/usr/include/freetype2 -I/usr/include/libpng16

If you don't have it installed, do:

sudo apt-get install libfreetype-dev libfreetype6 libfreetype6-dev

And try the first command again.

Then, link the header in your compilation. Using the ProJucer, this is easy, just paste /usr/include/freetype2 in the Header Search Paths in the settings section.

Upvotes: 20

Related Questions