我试图添加一个简单的文字来在窗口中呈现它。但我有一个问题......
每次控制台都会显示以下答案:
"Couldn't load font file"
我不知道这个问题的根源是什么。也许错误发生在.pro文件中:
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
INCLUDEPATH += /usr/include
LIBS += -L/usr/lib -lSDL2 -lSDL2_image -lSDL_ttf
SOURCES += main.cpp
main.cpp还有另一部分:
#include <iostream>
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#include <SDL2/SDL_ttf.h>
using namespace std;
void loop();
int main()
{
SDL_Init(SDL_INIT_VIDEO);
SDL_SetHint( SDL_HINT_RENDER_VSYNC, "1" );
SDL_SetHint( SDL_HINT_RENDER_SCALE_QUALITY, "1" );
if( TTF_Init() == -1 )
{
cout << TTF_GetError() << endl;
}
else {
TTF_Font* font = TTF_OpenFont("lazy.ttf", 10);
if( font == NULL ) {
cout << TTF_GetError() << endl;
}
else {
cout << "Font loaded" << endl;
}
}
loop();
return 0;
}
void loop() {
bool quit(false);
SDL_Event e;
while( !quit ) {
SDL_PollEvent(&e);
switch( e.type ) {
case SDL_QUIT:
quit = true;
break;
}
}
}
进一步的信息:
提前谢谢!
答案 0 :(得分:0)
将评论写入正式答案:
如果您在发生意外时与SDL_ttf
而不是SDL2_ttf
相关联,则会发生这种情况。这些函数具有相同的名称,因此调用成功,但操作失败。
如果使用SDL 2,请确保使用SDL2_ttf
。