[英]Cross-platform GUI application console for debug messages C++
我正在用C ++編寫游戲。 我想使用std :: cout從代碼中打印調試消息,但是由於這是一個GUI應用程序,因此默認情況下沒有控制台可以打印到該消息。 我試圖從CMD像這樣簡單地運行它:
start Debug/hydro.exe
但無濟於事。
在使用帶有Win32項目的Visual Studio 2012的Windows 8 x86_64上,以下代碼實現了我想要的功能:
#include <Windows.h>
...
AllocConsole();
freopen("CONIN$", "r",stdin);
freopen("CONOUT$", "w",stdout);
freopen("CONOUT$", "w",stderr);
但是,我相信這不是跨平台的(如果我錯了,請糾正我!),希望我的應用程序可以在Linux和Mac OS X上運行。
是否有跨平台的解決方案? 當然,越簡單越好!
我不知道在Linux世界中能做到這一點的任何產品-您應該從shell啟動代碼,並且輸出出現在shell窗口中。
像這樣包裝可以幫助:
#ifdef _WIN32
// Windows-only code here
#endif
在Windows外部時,將不編譯代碼,在Windows內部時,將不編譯代碼!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.