我想在Ubuntu 11.10中編譯我的代碼並獲取這些錯誤和更多。到目前爲止,通過使用Google搜索,我認爲這是一個鏈接錯誤。具體來說,有一些建議要確保你有正確的標題並鏈接-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'
的慣例是使用CPP爲預處理器,如CPPFLAGS國旗的預處理器,用於CXX C++編譯器,以及用於CXXFLAGS標誌來CXX。將CPP分配爲C++編譯器將會破壞make的隱式規則。 – 2012-03-02 23:19:44
感謝所有試圖幫助的人。我實際上不再使用這段代碼,也無法訪問它。所以,除了Keith Thompson的建議,我沒有嘗試任何其他方法,這對我沒有任何作用。對於其他可能遇到同樣問題的人,請嘗試其他答案,並將其標記爲有用的,如果他們是這樣的話。 – Fari 2012-07-09 01:27:50
我遇到了同樣的問題,修復方法是在最後使用-l:'gcc -o hello hello.c -lncurses' – jcubic 2014-06-16 15:51:26