Windows下ncurses无法被gcc识别的问题求助
解决Windows下MSYS2 ncurses无法被gcc识别的问题
核心问题排查与解决步骤
确保使用MSYS2 Mingw64配套的gcc
不要用Windows系统自带或其他版本的gcc,必须打开MSYS2安装目录下的MinGW64.exe终端,这里的gcc才会自动识别MSYS2安装的库路径。如果用VSCode开发,需要把默认终端切换为MSYS2 Mingw64终端,或者在编译任务里指定编译器路径为C:\msys64\mingw64\bin\gcc.exe。检查ncurses安装包是否正确
在Mingw64终端执行以下命令重新安装适配Mingw64的ncurses包:pacman -S mingw-w64-x86_64-ncurses不要安装MSYS2环境的ncurses包(仅适用于MSYS2 shell内部程序),必须安装
mingw-w64-x86_64-前缀的版本。调整头文件引用或编译路径
安装完成后,正常情况下ncurses.h会被放置在C:\msys64\mingw64\include目录下(而非子目录),此时代码中#include <ncurses.h>是正确的。如果你的ncurses.h确实在C:\msys64\mingw64\include\ncurses子目录中,要么把代码改为#include <ncurses/ncurses.h>,要么编译时添加子目录到include路径:gcc test.c -o test -IC:\msys64\mingw64\include\ncurses -lncurses简化编译命令
当使用Mingw64终端的gcc且安装正确时,无需手动指定include和lib路径,直接执行:gcc test.c -o test -lncurses就能正常编译。
内容的提问来源于stack exchange,提问作者miijin
相关产品推荐
相关产品推荐

