0

私はこのサイトで同様の質問を見て、なぜこれが起こっているのかグーグルで調べましたが、コンパイルできないこれらのソリューション、ncursesとcursesの違い別のコンパイルエラーを試しましたが、まだエラーの問題がundefined reference to stdscrありwgetch、コンパイラは見つけています私がfindcursesライブラリを見つけて、行の完全な場所を入力したので、私が理解できる限りのライブラリ#include

私のコードは次のとおりです

#include <ncurses.h>
#include <stdio.h>
#include <string.h>

int first_line(char);
int main(){

    char c = 0;

    while((c = getch())!=EOF){
        first_line(c);

    }   

    return 0;
}

int first_line(char c){
    if (c != '\n' && c != '\r'){
            putchar(c);
        do{
            c = getch();
            putchar(c);}
            while( c !='\n');

    }
    else return 0;

    return 0;
}

私が見逃したことや間違ったことを指摘していただければ幸いです。

4

1 に答える 1

2

ncurses.hライブラリ(これらの宣言を実装するコードを含む)ではなく、ヘッダーファイル(宣言を含む)です。

表示されるエラーメッセージは、コンパイラからではなく、リンカからのものです。

gccを使用している場合は、-lcursesまたは-lncursesコンパイラのコマンドラインに(ソースファイル名の後に)追加する必要があります。

たとえば、私のシステムでは、ソースをにコピ​​ーしました。c.cどちらを使用しても、コンパイルしてリンクできます。

gcc c.c -o c -lcurses

また

gcc c.c -o c -lncurses
于 2012-04-21T02:49:49.813 に答える