6

I've looked at several possible solutions to try to fix this, but I'm still having the following issue with drawing text with SDL_ttf and SDL2.

julian@julian-linux:~/Documents/SDL/Font Demo/pt2$ make
g++ texttest.cpp -w -lSDL2 -lSDL2_ttf -LSDL2_image  -o texttest
/usr/bin/ld: cannot find -lSDL2_ttf
collect2: error: ld returned 1 exit status
Makefile:23: recipe for target 'all' failed
make: *** [all] Error 1

My Makefile is as follows:

OBJS = texttest.cpp

#CC specifies which compiler we're using
CC = g++

#COMPILER_FLAGS specifies the additional compilation options we're using
# -w suppresses all warnings
COMPILER_FLAGS = -w

#LINKER_FLAGS specifies the libraries we're linking against
LINKER_FLAGS = -lSDL2 -lSDL2_ttf -LSDL2_image 

#OBJ_NAME specifies the name of our exectuable
OBJ_NAME = texttest

#This is the target that compiles our executable
all : $(OBJS)
    $(CC) $(OBJS) $(COMPILER_FLAGS) $(LINKER_FLAGS) -o $(OBJ_NAME)

Thanks in advance for any help.

Samuel Hunter
  • 527
  • 2
  • 11
Julian Goddard
  • 431
  • 1
  • 4
  • 10
  • 3
    `cannot find -lSDL2_ttf` means you don't have `libSDL2_ttf.so` or `libSDL2_ttf.a` in your linker libraries paths. Either you haven't installed development package for said library (but then how do you have headers?), have broken it, or have it for wrong architecture. Also using `-w` compiler flag is worst idea ever, although not related to the question. – keltar Nov 02 '16 at 05:28

1 Answers1

11

I solved this by running

sudo apt-get install libsdl2-ttf-dev

where as previously I tried to fix it with

sudo apt-get install libsdl-ttf2.0-dev
Julian Goddard
  • 431
  • 1
  • 4
  • 10