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