【发布时间】:2023-02-06 00:24:43
【问题描述】:
我正在尝试编写一个非常简单的 ncurses 程序,只是为了玩弄,在 Windows 10 上使用 mingw-w64。我用 pacman 安装了 mingw-w64-x86_64-ncurses 包,并且正在使用 MSYS2 MinGW64 环境终端。我没有使用任何 curses 库的经验,也没有在 Windows 上进行一般软件开发的经验。
我在Main.cpp写了下面的hello world程序:
#include <iostream>
#include <ncurses.h>
#include "Headers.hpp"
int main(int argc, char ** argv) {
initscr();
printw("Hello World!");
refresh();
getch();
endwin();
return 0;
}
我用以下命令编译它:
g++ -I /C/msys64/mingw64/include/ncurses HelloWorld.cpp -L/C/msys64/mingw64/bin -lncursesw6 -o main
它编译,但是当我运行main.exe时,我得到
Error opening terminal: xterm.
为什么会发生这种情况,我该如何解决?
【问题讨论】:
-
我可以重现,但如果我在
cmd中运行该程序,它就可以工作。可能mintty不算作该库的真正交互式控制台。 -
@HolyBlackCat 不知何故
TERMenv var 需要取消设置为 mingw 构建工作。相反,TERMenv var 需要放使 msys 构建正常工作。不知道背后的理由是什么。