问题与<curses.h>; <curse.h>; G ++ Linux终端中的<conio.h> </conio.h> </curse.h> </curses.h>

时间:2014-03-26 17:44:47

标签: c++ linux terminal g++

#include <iostream>
    using namespace std;
    #include <curses.h>  //#include <conio.h>
    int main()
    {
    initscr();
    char dir='a';
    int x=10,y=10;
    cout<<"Please press ENTER for EXIT...\n";
    while (dir != '\r')
    {
     cout<<"\n Your coordinates: " << x << ", " << y;
     cout<<"\n Select your destination: (N,S,E,W): ";
     dir = getch();
     if(dir =='n')
     y--;
      else if(dir=='s'))
     y++;
      else if(dir=='e'))
     x++;
      else if(dir=='w'))
     x--;
     }
    return 0;
    }

给出错误

msi@MSI-VR610:~/Desktop$ g++ adelseif.cpp -o adelseif
adelseif.cpp:5:42: fatal error: curses.h: No such file or directory
#include <curses.h>  //#include <conio.h>

所以我正在尝试使用替代目录curse.h和ncurse.h以及其他组合,但它仍然无法编译

1 个答案:

答案 0 :(得分:1)

您需要安装相应的包;对于Ubuntu,这是libncurses5-dev;对于Fedora,它似乎是ncurses-devel。使用您的包管理器(apt-get,yum等)来安装它。

你也需要在图书馆中链接;通过添加“-lcurses”或“-lncurses”来执行此操作您的编译命令(两者都在Ubuntu上工作;我不确定其他发行版。)

您的代码在“else if ...”行中有正确的括号;当你使用curses.h编译时,你会得到更多细节。