2016-04-05 13 views
1

Ich versuche zu lernen, wie SDL_TTF-Bibliothek zu verwenden. Aber ich bin nicht in der Lage einen Fehler des Typs zu lösen: undefined Verweis auf „TTF_INIT“SDL_TTF: undefinierter Verweis auf "TTF_INIT"

hier ist der einfache Code, zu kompilieren und die Verwendung im Versuch:

#include <stdlib.h> 
#include <stdio.h> 
#include <SDL2/SDL.h> 
#include <SDL2/SDL_ttf.h> 
int main(int argc, char *argv[]){ 
    TTF_INIT(); 
    TTF_Quit(); 
    return EXIT_SUCCESS; 
} 

Hier ist CFLAGS mein Makefile:

CFLAGS= `sdl2-config --cflags --libs`-lSDL2_ttf 

Vielen Dank im Voraus für Ihre Antwort.

PS: i verwendet sudo apt SDL2 und SDL2_TTF

+0

Was diese Backticks in der 'CFLAGS' Linie sind zu schreiben? –

+1

Es ist 'TTF_Init'. – cremno

+0

Es ist eine Regel .. (das ist, was ich gelernt habe .. es mag falsch sein, aber es geht nicht ohne) – venilla

Antwort

2

Zuerst installieren Sie einen Raum nach dem letzten Graviszeichen in CFLAGS fehlen. Selbst dann sollte es so aussehen:

CFLAGS=`sdl2-config --cflags` 
LFLAGS=`sdl2-config --libs` -lSDL2_ttf 

Auch TTF_Init() (beachten Sie, dass es nicht alle Kappen) nach SDL_Init() kommen müssen.

Überprüfen Sie heraus, LazyFoo Tutorial alles über das bei http://lazyfoo.net/tutorials/SDL/16_true_type_fonts/index.php. Sie können jedoch am Anfang beginnen (http://lazyfoo.net/tutorials/SDL/index.php).

edit: Ich dachte, ich aus den Kommentaren erwähnen würde, dass während Backticks arbeiten, es häufiger ist $(shell sdl2-config --cflags)