0

Context: we are building cross-platform application from linux (ubuntu). We use the available mingw-w64 from ubuntu packages (v7.0.0-2 at the time of writing). We would like to start using the Windows ConPTY API (aka pseudo-console). Is there support for ConPTY in mingw-w64? Anyone has done it before? Thanks

4

1 回答 1

0

看起来 ConPTY 专用功能仅适用于 windows WINNT 和 windows NTDDI 版本_WIN32_WINNT_WIN10NTDDI_WIN10_RS5或更高版本。MinGW (7.0.0-2)_WIN32_WINNT_WS03默认将 WINNT 版本设置为 (Windows Server 2003)。

通过在包含之前手动设置这些值,windows.h可以将 ConPTY 函数与 Ubuntu 的 MinGW-w64 包 v7.0.0-2 一起使用。

示例代码:

#define NTDDI_VERSION 0x0A000006 //NTDDI_WIN10_RS5
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0A00 // _WIN32_WINNT_WIN10
#include <windows.h>
#include <wincon.h>
CreatePseudoConsole(size, inputReadSide, outputWriteSide, 0, &hPC);
于 2021-03-03T07:27:38.940 回答