Allt från Computex 2023
Permalänk
Medlem

Använda TTF i SDL (Ubuntu)

Jag vill kompilera ett program jag skrivit i SDL i ubuntu som använder sig att sdl_ttf för att skriva ut text.

#include "SDL.h" #include "SDL/SDL_ttf.h" const int WINDOW_WIDTH = 640; const int WINDOW_HEIGHT = 480; const char* WINDOW_TITLE = "SDL Start"; int main(int argc, char **argv) { SDL_Init( SDL_INIT_VIDEO ); SDL_Surface* screen = SDL_SetVideoMode( 1024, 768, 0, SDL_HWSURFACE | SDL_DOUBLEBUF ); SDL_WM_SetCaption( WINDOW_TITLE, 0 ); TTF_Init(); SDL_Quit(); return 0; }

som jag kompilerar med g++ test.cpp `pkg-config --libs --cflags sdl'
Problemet är att jag får fel (undefined reference) på TTF_Init(). Jag har vad jag vet installerat sdl_ttf. Måste jag ändra något i kompileringen?

Visa signatur

Real Programmers always confuse Christmas and Halloween because OCT 31 == DEC 25 !

Permalänk
Medlem

g++ test.cpp `pkg-config --libs --cflags sdl` -lSDL_ttf

Permalänk
Medlem

Tack! Hur hittar man sånt egentligen? Så slipper jag fråga varje gång jag vill kompilera något.

Dessutom krashar programmet pga raden

TTF_Font* font = TTF_OpenFont("Times.TTF", 12);

Hur hittar jag vilka fonter jag kan skriva in där egentligen? Kan inte så mkt om linux ännu

Visa signatur

Real Programmers always confuse Christmas and Halloween because OCT 31 == DEC 25 !

Permalänk
Medlem

Det är ju bara att tänka efter och testa sig fram.
Du inkluderar SDL.h och SDL_ttf.h, men `pkg-config --libs sdl` säger bara "-lSDL", så det är inte helt orimligt att tro att -lSDL_ttf kan vara lämpligt att skicka med till kompilatorn..

edit:
ls /usr/share/fonts/TTF
eller:
find /usr -name "*.ttf" -exec basename {} \;

Permalänk
Medlem

Kolla så du har Times.ttf också då