1
"/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)

'' lcurses''が見つからないようですが、lcursesを検索するように定義したことはありません。リンクするncurseライブラリを実際に追加しました。

/ usr / include / ncursesに移動しましたが、実際にはそこにあるはずのファイルがあります。

このコンパイル全体で何が起こっているのか完全にはわかりません。それは私を少し超えています。必要なライブラリをリンクするように言われたことを知っています。ncurses.hは、これが私のコードの持ち方です。

#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;
}

どんな助けでも喜んで歓迎します。迷っています。

4

1 に答える 1

0

これはC++コードの問題ではなく、ビルド環境の問題です。netbeansIDEを使用していますか?

私が知る限り、このコードはncrusesをまったく必要とせず、NetBeansというリンクディレクティブは必要ありませんか?ncruses.hファイルを指すように設定されています。このファイルは、「-Wl、-lncurses」または「-lncurses」のみのようになります。したがって、netbeansのどこかで、ncrusesだけでなくncruses.hを記述したライブラリ名を指摘する必要があると推測されます(私は思うが、わからない)

pkg-configに、マシンに必要なncursesのパラメータ「pkg-config--libsncurses」および「pkg-config--cflagsncurses」を尋ねてみてください。

于 2012-05-13T13:08:12.850 に答える