SDL C ++ IDE无法打开.ttf文件

时间:2016-07-07 13:33:02

标签: c++ sdl true-type-fonts

我将ttf文件包含到我的项目中,我将此ttf复制到debug文件夹,并复制到System32文件夹,然后将其安装在Windows上。我使用了在互联网上找到的另一个C ++源代码,它不能正常工作。但是,如果我直接从“调试”(而不是从IDE)文件夹运行二进制文件,它可以正常工作。

我正在使用CodeBlocks,SDL2。

1 个答案:

答案 0 :(得分:1)

您在代码中使用的路径相对于运行应用程序的目录。

如果您的.ttf文件与您的应用程序位于同一目录中,则应使用SDL_GetBasePath()来确定其位置:

char* p = SDL_GetBasePath();
if(p == nullptr) { /* TODO: error */ }
std::string ttfPath = std::string(p) + "myfont.ttf";
SDL_free(p); // TODO: exception safety
// now, you can open the file 
TTF_Font* f = TTF_OpenFont(ttfPath.c_str(), 42);
// ...