簡體   English   中英

跨平台GUI應用程序控制台,用於調試消息C ++

[英]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內部時,將不編譯代碼!

如果您的代碼依賴於<Windows.h>則絕對不是跨平台的。

查看用於跨平台日志記錄的log4cxx 這是一個非常穩定,成熟的平台。

PS:跨平台GUI編程祝您好運。 GUI編程通常是非常特定於平台的。 Qt這樣的框架可能會很有幫助,如果您要進行3D圖形處理,請確保使用OpenGL而不是DirectX。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM