私はUbuntu 11.10で自分のコードをコンパイルしようとしていますが、これらのエラーとmoreを取得しています。具体的には、適切なヘッダーがあり、-lncursesライブラリをリンクさせるための提案があります。私はすでにそれをしています。私はまだこのエラーが発生しています。私はlibncursesをインストールしなければならないかもしれないが、それはすでにインストールされているかもしれません。`stdscr 'への未定義の参照
My MakeFile:
CPP = g++
CPPFLAGS = -c -Wall -g
LINK = g++
LDFLAGS_LINUX = -lpthread -lncurses
LDFLAGS = $(LDFLAGS_LINUX)
RM = rm
.SUFFIXES:
.SUFFIXES: .o .cpp
.cpp.o:
$(CPP) $(CPPFLAGS) $*.cpp -o $(SRC_DIR)$*.o
all: skygrid
skygrid: skygrid.o commServer.o pose.o robot.o
$(LINK) $(LDFLAGS) -o [email protected] $^
clean:
$(RM) -rf *.o skygrid
skygrid.o: skygrid.cpp definitions.h commServer.h pose.h robot.h
commServer.o: commServer.cpp commServer.h
pose.o: pose.cpp pose.h
robot.o: robot.cpp robot.h pose.h
マイエラー:
/home/fari/Desktop/FarahSkygrid/skygrid/src/skygrid.cpp:1094: undefined reference to `stdscr'
/home/fari/Desktop/FarahSkygrid/skygrid/src/skygrid.cpp:1094: undefined reference to `stdscr'
/home/fari/Desktop/FarahSkygrid/skygrid/src/skygrid.cpp:1094: undefined reference to `stdscr'
/home/fari/Desktop/FarahSkygrid/skygrid/src/skygrid.cpp:1094: undefined reference to `stdscr'
/home/fari/Desktop/FarahSkygrid/skygrid/src/skygrid.cpp:1104: undefined reference to `werase'
/home/fari/Desktop/FarahSkygrid/skygrid/src/skygrid.cpp:1106: undefined reference to `wprintw'
/home/fari/Desktop/FarahSkygrid/skygrid/src/skygrid.cpp:1107: undefined reference to `wprintw'
/home/fari/Desktop/FarahSkygrid/skygrid/src/skygrid.cpp:1109: undefined reference to `wprintw'
/home/fari/Desktop/FarahSkygrid/skygrid/src/skygrid.cpp:1111: undefined reference to `stdscr'
/home/fari/Desktop/FarahSkygrid/skygrid/src/skygrid.cpp:1111: undefined reference to `wgetch'
/home/fari/Desktop/FarahSkygrid/skygrid/src/skygrid.cpp:1116: undefined reference to `wtouchln'
規則は、C++コンパイラのCXX、プリプロセッサのフラグとして、プリプロセッサためCPPFLAGSをCPPを使用することであり、CXXにフラグのCXXFLAGS。 C++コンパイラとしてのCPPの割り当ては、makeの暗黙的なルールをマングルするでしょう。 –
助けようとしたすべての人に感謝します。私は実際にはこのコードで作業していませんし、アクセスもしていません。だから、私はKeith Thompsonが提案したこと以外に何も試していないし、私のために働いていなかった。他の人が同じ問題に遭遇している可能性がある場合は、他の回答を試してください。 – Fari
私は同じ問題を抱えていました。最後に-lを使用するように修正されました: 'gcc -o hello hello.c -lncurses' – jcubic