我想在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