【发布时间】:2016-04-04 23:53:16
【问题描述】:
我想在运行我的 SDL 2 程序时将一些调试内容打印到控制台,但这似乎是不可能的。 printf("Hi!\n") 和 SDL_Log("Hi!\n") 都不会对我有任何好处。
我什至尝试在初始化 SDL 之前(以及在退出之后)打印,但无济于事。似乎仅仅导入 SDL 库就无法将任何内容打印到控制台。
这是我正在编译的参数,因为它可能与它有关:
g++ hello.cc -IC:\mingw_dev_lib\include\SDL2 -LC:\mingw_dev_lib\lib -w -Wl,-subsystem,windows -lmingw32 -lSDL2main -lSDL2 -lSDL2_image -std=c++11
有什么想法吗?
【问题讨论】:
-
这可能是由 sdl2main 库引起的。通常在正常的 sdl 程序中实际上并不需要它,但它会导致调试输出丢失的问题...
-
@tp1 你是在建议我删除 sdl2main 吗?我发现最接近的东西是
libSDL2main.a,删除该文件会导致更多问题。 -
这可能是您在 SDL 中所做的事情或与平台相关的问题。我现在正在使用 SDL2,并且在运行时立即通过 cout 打印没有问题。我也在 Windows 上使用 MSYS2。
-
这不是很明确,但可能会有所帮助:gamedev.net/topic/299349-cout-to-console-in-sdl
-
我是从其他网站发现的,所以我会继续回答我自己的问题。