gpt4 book ai didi

c - 进程在 TTF_RenderText_Shaded 行结束

转载 作者:太空宇宙 更新时间:2023-11-04 03:29:22 24 4
gpt4 key购买 nike

我的 SDL 程序包含:

TTF_Init();
TTF_Font *font = TTF_OpenFont("segoeui.ttf",13);
SDL_Color textColor = {0,0,0};
SDL_Color backgroundColor = {34,177,76};
SDL_Surface *myText = TTF_RenderText_Shaded(font,"Some text",textColor,backgroundColor);

当我从 Code::Blocks 中的 Build and run 按钮运行程序时,没有任何问题,但是当我从 Windows Explorer 中的文件夹运行程序时,窗口直接打开和关闭,并且在窗口之后关闭,进程不再运行,文件 stderr.txt 和 stdout.txt 仍然存在。我做了一些测试,发现是 SDL_Surface *myText = TTF_RenderText_Shaded(font,"Some text",textColor,backgroundColor); 这行似乎结束了这个过程,就像如果任务管理器中的结束进程按钮将被按下。

为什么要这样做?我该如何解决?

最佳答案

您应该使用绝对路径而不是相对路径来设置您的字体。如果您计划进行跨平台部署,您可能需要包含类似的内容:

TTF_Font *font;

#ifdef _WIN32
font = TTF_OpenFont("WinPath",13); // The windows path
#elif linux
font = TTF_OpenFont("LinuxPaht",13); // The linux path
#elif MacOS
font = TTF_OpenFont("Mac path",13); // The mac path
#endif

if(font == null)
// Throw an error, return or whatever.

您可以在 Detect Windows or Linux in C, C++ 获得准确的指令

关于c - 进程在 TTF_RenderText_Shaded 行结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38243579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com