上下文:我们正在从linux (ubuntu)构建跨平台的应用程序。我们使用ubuntu包中提供的mingw-w64 (撰写本文时的v7.0.0-2)。我们想要开始使用Windows (也称为伪控制台)。在mingw-w64中是否支持ConPTY?以前有人这么做过吗?谢谢
发布于 2021-03-03 15:27:39
看起来只有windows WINNT和windows NTDDI版本_WIN32_WINNT_WIN10和NTDDI_WIN10_RS5或更高版本才启用ConPTY专用功能。默认情况下,MinGW (7.0.0-2)将WINNT版本设置为_WIN32_WINNT_WS03 (Windows Server2003)。
通过在包含windows.h之前手动设置这些值,可以在Ubuntu w64包v7.0.0-2中使用ConPTY函数。
示例代码:
#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);https://stackoverflow.com/questions/66419746
复制相似问题