我怎样才能让ncurses在我的windows上工作?我已经尝试了所有的方法来让它工作,但是我的gcc编译器不能识别它,它被正确地安装在目录C:\msys64\mingw64\include\ncurses中,我是通过MSYS 2安装的。有人能帮助我吗?
我尝试编译代码如下:gcc test.c -o test -IC:\msys64\mingw64\include它在编译器中向我返回错误,我尝试使用另一个命令运行它:gcc test.c -o test -I C:\msys64\mingw64\include -L C:\msys64\mingw64\lib -incurses它也不工作,我不知道该怎么办。
特定错误:试验C:1 ∶ 10:致命错误:ncurses.h:没有这样的文件或目录1|#包括<ncurses.h>|^~~~~~~~~~~编译终止。我使用的是vscode,但即使在windows终端也出现了同样的问题。
1条答案
按热度按时间vhmi4jdf1#
在VS Code使用的msys 2 MingW 64的默认安装中,ncurses基本上是存在的,但是正确的include和link并不是不言而喻的。
下面是一个非常简单的ncurses-helloworld.cpp:
当然,您可以在
vscode
的配置中、编译器的命令行中、makefile中或任何地方设置include路径,以便工作,但在此期间,我习惯于只包含
C:\msys64\mingw64\include
子目录中的所有内容,格式为#include <directory name/filename.h>
-这非常容易工作,无需任何进一步的配置设置,对于可以通过pacman
使用msys包直接安装的所有内容。要使用此命令正确链接ncurses库,请使用以下命令:
或
用于纯C程序。
布雷希特Sanders在关于this question的评论中给出了解释,这导致OP当时采取了适当的解决方案:
除非定义了
NCURSES_STATIC
,否则标头将定义__declspec(dllexport)
,因此添加-DNCURSES_STATIC
作为编译选项将修复所有问题。