微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

与 CMake 一起使用时,IMG_Load() 无法正常工作

如何解决与 CMake 一起使用时,IMG_Load() 无法正常工作

我正在尝试使用 CMake 在 vscode 上制作游戏。一切都很好,直到我尝试在屏幕上显示 png 图像。我已经正确地初始化并链接了所有东西,除了这个之外没有错误发生:

“无法打开./Images/Mountain.png”

这是我的代码

await bot.change_presence(activity=discord.Streaming(name="My Stream",url=my_twitch_url))

这是我的 CMakeLists.txt:

#include <SDL.h>
#include <SDL_image.h>
#include <iostream>
#undef main

SDL_Window *window;
SDL_Renderer *renderer;
SDL_Texture *tex;
int main(int argc,char const *argv[])
{
    if (SDL_Init(SDL_INIT_EVERYTHING) == 0)
    {
        std::cout << "Initialize SDL" << std::endl;
        window = SDL_CreateWindow("SDL2",SDL_WINDOWPOS_CENTERED,640,SDL_WINDOW_SHOWN);
        if (window)
            std::cout << "Window created" << std::endl;
        renderer = SDL_CreateRenderer(window,-1,0);
        if (renderer)
        {
            std::cout << "Render created" << std::endl;
            SDL_SetRenderDrawColor(renderer,255,255);
        }
        SDL_Surface *tempSurface = IMG_Load("./Images/Mountain.png");
        if (!tempSurface)
            std::cout << "Can't load image! Error: " << IMG_GetError() << std::endl;
        tex = SDL_CreateTextureFromSurface(renderer,tempSurface);
        SDL_FreeSurface(tempSurface);
    }
    SDL_DestroyWindow(window);
    SDL_DestroyRenderer(renderer);
    SDL_Quit();
    return 0;
}

我使用 Visual Studio Build Tools 2019 Release - x86 kit for CMake 并使用 CMake 扩展成功构建它。尽管我的路径是正确的,但只有在我运行程序时才会出现错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。