mingw-w64 是否支持 WinPty?
Is there support for WinPty in mingw-w64?
上下文:我们正在从 linux (ubuntu) 构建跨平台应用程序。我们使用 ubuntu 包中可用的 mingw-w64(撰写本文时为 v7.0.0-2)。
我们想开始使用 Windows ConPTY API(又名伪控制台)。
mingw-w64 是否支持 ConPTY?
有人做过吗?
谢谢
看起来 ConPTY 专用功能仅针对 windows WINNT 和 windows NTDDI 版本 _WIN32_WINNT_WIN10
和 NTDDI_WIN10_RS5
或更高版本启用。 MinGW(7.0.0-2)默认设置WINNT版本为_WIN32_WINNT_WS03
(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);
上下文:我们正在从 linux (ubuntu) 构建跨平台应用程序。我们使用 ubuntu 包中可用的 mingw-w64(撰写本文时为 v7.0.0-2)。 我们想开始使用 Windows ConPTY API(又名伪控制台)。 mingw-w64 是否支持 ConPTY? 有人做过吗? 谢谢
看起来 ConPTY 专用功能仅针对 windows WINNT 和 windows NTDDI 版本 _WIN32_WINNT_WIN10
和 NTDDI_WIN10_RS5
或更高版本启用。 MinGW(7.0.0-2)默认设置WINNT版本为_WIN32_WINNT_WS03
(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);