C++ kbhit测试无法编译';找不到-lcurses';

C++ kbhit测试无法编译';找不到-lcurses';,c++,compiler-errors,C++,Compiler Errors,它似乎找不到“lcurses”,但我从未定义它查找lcurses。我实际上添加了要链接的ncurse库 我已经导航到/usr/include/ncurses,实际上那里应该有文件 我不完全知道整个编译过程中发生了什么,我有点不知所措。我只知道有人告诉我把我需要的图书馆链接起来。当然,h在那里,这就是我的代码 "/usr/bin/gmake" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf gmake[1]: Enter

它似乎找不到“lcurses”,但我从未定义它查找lcurses。我实际上添加了要链接的ncurse库

我已经导航到/usr/include/ncurses,实际上那里应该有文件

我不完全知道整个编译过程中发生了什么,我有点不知所措。我只知道有人告诉我把我需要的图书馆链接起来。当然,h在那里,这就是我的代码

"/usr/bin/gmake" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
gmake[1]: Entering directory `/home/josh/Projects/Testing grounds/kbhit'
"/usr/bin/gmake"  -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/kbhit
gmake[2]: Entering directory `/home/josh/Projects/Testing grounds/kbhit'
mkdir -p build/Debug/GNU-Linux-x86
rm -f build/Debug/GNU-Linux-x86/main.o.d
g++    -c -g -Iusr/include/ -MMD -MP -MF build/Debug/GNU-Linux-x86/main.o.d -o build/Debug/GNU-Linux-x86/main.o main.cpp
mkdir -p dist/Debug/GNU-Linux-x86
g++     -o dist/Debug/GNU-Linux-x86/kbhit build/Debug/GNU-Linux-x86/main.o -L/usr/include/ncurses -L/usr/include/ncurses6 -L/usr/include/ncursesw -lncurses.h 
/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lncurses.h
collect2: ld returned 1 exit status
gmake[2]: *** [dist/Debug/GNU-Linux-x86/kbhit] Error 1
gmake[2]: Leaving directory `/home/josh/Projects/Testing grounds/kbhit'
gmake[1]: *** [.build-conf] Error 2
gmake[1]: Leaving directory `/home/josh/Projects/Testing grounds/kbhit'
gmake: *** [.build-impl] Error 2


BUILD FAILED (exit value 2, total time: 477ms)
#包括
#包括
使用名称空间std;
bool-kbhit()
{
int ch=getch();
如果(ch!=错误)
{
未蚀刻(ch);
返回true;
}
返回false;
}
int main(){
而(!kbhit())
{

CUT

这不是你的C++代码的问题,这是你的构建环境的一个问题,你使用NETBeaIDE?< /P> 据我所知,这段代码根本不需要NCRUS,NetBeans?为您设置的link指令指向一个ncrus.h文件,其中应该是“-Wl,-lncurses”或仅“-lncurses”因此,有一种猜测是,在netbeans中的某个地方,您应该指出您编写的ncrus.h库名,而不仅仅是ncrus(我想,不确定)


尝试询问pkg config您的计算机“pkg config--libs ncurses”和“pkg config--cflags ncurses”上的ncurses参数

我需要做什么?是的,我在opensuse中使用netbeans,因为它是我最容易进入的linux发行版。除了导航之外,我不一定知道我在做什么。我选择ncurses是因为我希望能够为windows编译它。如果你更仔细地查看你的错误,你会发现你正在尝试链接到标题fi中在项目属性的某个地方,您编写了ncurses.h而不是ncurses(或ncurses6,这就是为什么您应该运行“pkg config--libs”行).我不使用netbeans,所以我很难告诉你应该在哪里更改它,只是看看你关于ncurses的另一个问题,你谈论make options的地方应该是你今天写“ncurses.h”的地方,应该只有“ncurses”“哦,我终于明白了!!”;至少是编译。现在它只是在循环中运行,并且在应该有输入的时候不识别任何输入。现在我相信表达式是sol
#include <iostream>
#include <ncurses/ncurses.h>

using namespace std;


bool kbhit()
{
  int ch = getch();
  if(ch != ERR)
  {
    ungetch(ch);
    return true;
  }
  return false;

}

int main() {

  while(!kbhit())
  {
    cout << "no input";
  }
  cout << "Mummy, it's over.";
  return 0;
}