代码块和SDL输出.奇怪的行为

Code Blocks and SDL output. weird behavior

本文关键字:输出 SDL 代码      更新时间:2023-10-16

我不知道我的代码块是否有问题,但我可以编译项目,但我不能从程序本身运行它,它闪烁,然后SDL应用程序关闭,控制台出现(IDK,但这个控制台似乎不像tipic控制台)。

我可以自己去运行程序,但说真的,这不是它应该的方式,对吗?

我也注意到,当你运行一个控制台应用程序,而不是SDL应用程序控制台略有不同?为什么,有办法解决这个问题吗?跟控制台有关吗?

我假设您在windows中使用代码块。控制台差异的原因是代码块使用Msys,这是一个最小的POSIX (*nix) shell环境的植入。

Msys将windows中的路径视为*nix路径C:folderfile。Ext可以通过/c/folder/file访问。

MSYS与MinGW一起工作,提供了一个类似于*nix的环境和构建链,包括GCC, make, auto-conf和其他一些,你也可以很容易地构建大多数开源库,就像你在*nix系统上一样:/configure" make" "make install".

在使用MinGW编译SDL时,您应该检查几件事情是否正确。

g++在我的经验中似乎比GCC更好。

你需要设置选项到g++:

    -g -O2 

包括Dir:

    -I/mingw/include/SDL

定义,您也可以将-D替换为#define并放在源代码的顶部:

    -D_GNU_SOURCE=1 -Dmain=SDL_main -DHAVE_OPENGL

Lib文件夹
    -L/mingw/lib

库:

    -lmingw32 -lSDLmain -lSDL -mwindows

这些设置可能不适合您,但非常接近,所以检查SDL.h和lib文件的位置,并在必要时进行调整。虽然这些可能是正确的设置,如果它正在编译。

这是固定的,我只需要将图像复制到与项目相同的文件夹中= p