SDL_TTF:对“TTF_INIT”的未定义引用

时间:2016-04-05 18:49:10

标签: c linker sdl sdl-ttf

我正在尝试学习如何使用SDL_TTF库。但我无法解决类型错误: 对“TTF_INIT”的未定义引用

这是我试图编译和使用的简单代码:

#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;
}

这是我的makefile的CFLAGS:

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

提前感谢您的回答。

PS:我使用sudo apt安装SDL2和SDL2_TTF

1 个答案:

答案 0 :(得分:2)

首先,在CFLAGS上的最后一次反击后,您错过了一个空格。即便如此,它看起来应该更像:

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

此外,TTF_Init()(请注意,并非全部上限)必须在SDL_Init()之后。{/ p>

http://lazyfoo.net/tutorials/SDL/16_true_type_fonts/index.php查看LazyFoo的所有相关内容。不过,您可能希望从头开始(http://lazyfoo.net/tutorials/SDL/index.php)。

编辑:我想我会从评论中提到,虽然反引号有效,但写$(shell sdl2-config --cflags)

更常见