2012-05-13 7 views
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ライブラリを追加しました。kbhitテストはコンパイルに失敗しました '-lcurses'を見つけることができません

私は/ 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; 
} 

いずれのヘルプも心から歓迎します。迷っています。

答えて

0

これはあなたのC++コードには問題ありません。ビルド環境にはもっと問題があります.netbeans IDEを使用していますか?

私が知る限り、このコードにはncrusesはまったく必要なく、NetBeansのリンクディレクティブは必要ですか?あなたが設定したのは、この "-Wl、-lncurses"や "-lncurses"のようなncruses.hファイルを指しています。だから、ネットビーンのどこかで、ncrusesの代わりにncruses.hを書いたライブラリ名を指摘しておかなければならないと思います。(確かではないと思います)

ncursesのパラメータはpkg-configあなたのマシン "pkg-config --libs ncurses"と "pkg-config --cflags ncurses"

+0

何が必要ですか?はい、それは私が移動するための最も簡単なLinuxディストリビューションだったので、私はopensuseでネットビーンズを使用しています。私はナビゲート以外に何をしているのか必ずしも分かっていません。私はWindows用にもこれをコンパイルできるようにしたいので、ncursesを選んだ。 –

+0

エラーを詳しく見てみると、ライブラリの代わりにヘッダファイルをリンクしようとしていることがわかります。 ncursesの代わりにncurses.hと書かれたプロジェクトプロパティのどこかに(またはncurses6、なぜ "pkg-config --libs"行を実行すべきか)。私はnetbeansを使用していないので、どこに変更する必要があるのか​​を正確に伝えることができます。 –

+0

ncursesについてのあなたの他の質問を見てみましょう。あなたが話している場所と同じ場所で、今日あなたが "ncurses.h "それだけで" ncurses " –

関連する問題