首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SDL_TTF :对"TTF_INIT“的未定义引用

SDL_TTF :对"TTF_INIT“的未定义引用
EN

Stack Overflow用户
提问于 2016-04-05 18:49:10
回答 2查看 7.3K关注 0票数 2

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

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

代码语言:javascript
复制
#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:

代码语言:javascript
复制
CFLAGS= `sdl2-config --cflags --libs`-lSDL2_ttf

提前谢谢你的答复。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-05 19:15:33

首先,在CFLAGS中的最后一个回击之后,您丢失了一个空格。即使如此,它也应该看起来更像:

代码语言:javascript
复制
CFLAGS=`sdl2-config --cflags`
LFLAGS=`sdl2-config --libs` -lSDL2_ttf

另外,TTF_Init() (注意不是所有的大写)必须在SDL_Init()之后。

字体/index.php上查看LazyFoo的教程。不过,您可能希望从一开始就开始(http://lazyfoo.net/tutorials/SDL/index.php)。

编辑:我想我应该从评论中提到,虽然回溯可以工作,但是写$(shell sdl2-config --cflags)更常见

票数 3
EN

Stack Overflow用户

发布于 2022-05-04 23:37:57

您可能已经解决了这个问题,但是我已经到了这个页面,不,TTF_Init()不需要在SDL_Init后面加上@contrapants,我们可以在手册的第2.2章中看到这一点。

因此,代码的问题在于用大写格式编写TTF_Init(),而忽略了`和-之间的空格。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36434663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档