Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 代码块和SDL输出。奇怪的行为_C++_Windows_Sdl_Codeblocks - Fatal编程技术网

C++ 代码块和SDL输出。奇怪的行为

C++ 代码块和SDL输出。奇怪的行为,c++,windows,sdl,codeblocks,C++,Windows,Sdl,Codeblocks,我不知道我的代码块是否有问题,但我可以编译项目,但我无法从程序本身运行它。它闪烁,然后SDL应用程序关闭,控制台出现,但这个控制台看起来不像tipic控制台 我可以自己去运行这个程序,但说真的,它不应该是正确的吗 我还注意到,当你运行一个控制台应用程序而不是SDL应用程序时,控制台有一点不同?为什么,有办法解决这个问题吗?与控制台有关吗?我假设您在windows中使用代码块。 控制台中出现差异的原因是代码块使用Msys,这是POSIX*nix外壳环境的最小植入 Msys将windows中的路径视

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

我可以自己去运行这个程序,但说真的,它不应该是正确的吗


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

我假设您在windows中使用代码块。 控制台中出现差异的原因是代码块使用Msys,这是POSIX*nix外壳环境的最小植入

Msys将windows中的路径视为*nix路径C:\folder\file.ext,可以通过/C/folder/file进行访问

MSYS与MinGW合作提供一个类似于*nix的环境和构建链,包括GCC、make、auto-conf和其他一些,您还可以相当轻松地构建大多数开源库,就像在*nix系统上一样:./configure make install

在使用MinGW编译SDL时,有几件事情需要检查,以确保您的操作正确

根据我的经验,g++似乎比gcc工作得更好

您需要设置进入g++的选项:

    -g -O2 
包括目录:

    -I/mingw/include/SDL
定义,您还可以将-D替换为define并放在源代码的顶部:

    -D_GNU_SOURCE=1 -Dmain=SDL_main -DHAVE_OPENGL
库文件夹

    -L/mingw/lib
图书馆:

    -lmingw32 -lSDLmain -lSDL -mwindows

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

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

代码块返回的消息是什么?类似于procces返回的1执行时间:1.117秒通常在窗口关闭时发生,而不是按enter键,也可以按Codeblocks输出编译器logWell上的类似消息我只是设置了它与使用Dev Cpp的方法相同,我只是在其他链接器选项上复制了链接器,我的意思是它可以编译,但不是从程序运行,为了运行它,我必须转到.exe所在的文件夹并运行它,它运行得很好,但是。。。我不能从代码块运行它,这将节省我很多时间