SDL2 Hello World教程以错误告终
SDL2 Hello World tutorial closes with error
我在Windows 8.1机器上使用VS2013进行开发。该窗口在屏幕上短暂闪烁(尽管代码中有2秒的延迟)。
这是所有的代码:
#include <SDL.h>
#include <iostream>
int main(int argc, char **argv)
{
if (SDL_Init(SDL_INIT_EVERYTHING) != 0){
std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;
return 4;
}
//open a window
SDL_Window *win = SDL_CreateWindow("Hello World!", 100, 100, 640, 480, SDL_WINDOW_SHOWN);
if (win == nullptr){
std::cout << "SDL_CreateWindow Error: " << SDL_GetError() << std::endl;
return 3;
}
//renderer
SDL_Renderer *ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
if (ren == nullptr){
std::cout << "SDL_CreateRenderer Error: " << SDL_GetError() << std::endl;
return 2;
}
//load bitmap
SDL_Surface *bmp = SDL_LoadBMP("helloworld.jpg");
if (bmp == nullptr){
std::cout << "SDL_LoadBMP Error: " << SDL_GetError() << std::endl;
return 6;
}
SDL_Texture *tex = SDL_CreateTextureFromSurface(ren, bmp);
SDL_FreeSurface(bmp);
if (tex == nullptr){
std::cout << "SDL_CreateTextureFromSurface Error: " << SDL_GetError() << std::endl;
return 5;
}
SDL_RenderClear(ren);
SDL_RenderCopy(ren, tex, NULL, NULL);
SDL_RenderPresent(ren);
SDL_Delay(2000);
return 0;
}
它以代码6退出。我以为它找不到helloworld.jpg文件。但是,它就在那里。我把它从一个地方移到另一个地方,希望自己只是个白痴。运气不好。它当前与.exe文件位于同一目录中。
SDL_LoadBMP将只加载BMP格式的图片,根据您选择的扩展名猜测,您看起来使用的是JPEG格式的图像,而您的程序拒绝加载它。
请参阅SDL_Image了解一个可能的解决方案。
相关文章:
- 虚幻文档中教程项目中的错误
- 编译C 电池收集器教程的错误
- TMB教程中的此编译错误是什么?
- 当我使用的教程完全没有错误时,为什么我的代码错误
- 虚幻:按照教程"Unknown type name UTextRenderComponent"编译错误
- LLVM 教程 3.6 尝试编译第 8 章输出时的链接器错误
- Arcsynthesis OpenGL 3.3 教程的问题 - MAKE 错误
- C 中的 Malloc 和结构给了我错误(按照教程)
- C++ Metro 应用程序教程的编译错误 - 任务继续
- 叮当教程 "missing file"上的段错误
- Ogre3D尝试编译教程框架并不断收到错误.代码::块
- C++分配运算符教程中是否有拼写错误
- C++cstdlib rand教程错误
- "O_RDONLY"、"F_SETFL"'O_NONBLOCK'遵循 OpenGL 教程时未声明的错误
- 使用proto教程时链接错误
- 构建MITK教程错误
- CppCMS教程:静态链接模板错误(控制器问题)
- CppCMS 教程:静态链接模板错误:"fatal error: content.h: No such file or directory"
- Apache Thrift教程中的c++链接器错误-未定义的符号
- OpenGL教程错误