我想在运行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
有任何想法吗?
因此,我找出了阻止我看到输出的原因。这些编译选项
-Wl,-subsystem,windows
本质上是禁用控制台窗口,从而阻止显示输出。这对于完成游戏非常有用,但对调试却很糟糕。所以,我说干就干,删除了这些编译选项,现在printf()
和SDL_Log()
工作完美的罚款。