我正在尝试学习如何使用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
答案 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)