我在 Xubuntu 64 位上使用最新的 SDL 2.0 版本。我通过源代码上提供的安装脚本进行安装。
编译效果很好,但是当尝试打开字体或图像时(无论其扩展名如何),它总是无法打开。
#include <iostream>
#include <SDL2/SDL.h>
#include <SDL2/SDL_ttf.h>
int main (int argc, char *argvp[])
{
if (SDL_Init(SDL_INIT_EVERYTHING) == -1)
{
cout << SDL_GetError() << endl;
}
if (TTF_Init() == -1)
{
std::cout << TTF_GetError() << std::endl;
return 2;
}
TTF_Font *font1 = NULL;
font1 = TTF_OpenFont("SourceSansPro-Regular.ttf", 20);
if (font1 == NULL)
{
std::cout << "ERROR OPENING FONT = " << TTF_GetError() << std::endl;
}
TTF_CloseFont(font1);
SDL_Quit();
return 0;
}
我编译了
g++ -Wall fontTEST.cpp -o TEST -lSDL2 -lSDL_ttf (NOTE that SDL_ttf installs as such, not as SDL2_ttf)
并得到以下错误:Failed to load font: 0 Couldn't load font file
图像也会发生这种情况。我已经尝试过使用不同的字体和图像,显然如果我使用 SDL 1.2 编译它可以工作,而不是使用 2.0。另外为什么提供的安装脚本会在 /user/local/ 中安装 lib 和包含文件夹?
我将它们移至 /usr/ 但问题仍然存在。