1

我有一个包含多个源文件和头文件的项目,我通过指定所需的外部库和头文件(包含 OpenCV 头文件的目录和包含 OpenCV 库的目录)编写了自己的 Makefile。

当我开始编译项目时,它的编译没有任何错误。但是在写代码的时候,Eclipse在OpenCV的一些函数上报错,就好像它不知道这些函数一样。既然我已经在makefile中列出了所有需要的头文件和库(见下文),为什么会出现这个问题?

CXXFLAGS = -O3 -g -Wall -fmessage-length=0 -I./include -I/usr/local/include/opencv
LIBS = -L/usr/local/lib -lcv -lcvaux -lhighgui -lcxcore -limgproc

MAIN_PROG_OBJS =    MainProgram.o src/Utilities.o src/ImageStream.o src/VideoStream.o
MAIN_PROG_TARGET =  MainProgram

TEST_PROG_OBJS = TestProgram.o src/Utilities.o
TEST_PROG_TARGET = TestProgram

$(MAIN_PROG_TARGET):    $(MAIN_PROG_OBJS)
    $(CXX) -o $(MAIN_PROG_TARGET) $(MAIN_PROG_OBJS) $(LIBS)

$(TEST_PROG_TARGET):    $(TEST_PROG_OBJS)
    $(CXX) -o $(TEST_PROG_TARGET) $(TEST_PROG_OBJS) $(LIBS)

all:    $(MAIN_PROG_TARGET) $(TEST_PROG_TARGET)

clean:
    rm -f $(MAIN_PROG_OBJS) $(MAIN_PROG_TARGET) $(TEST_PROG_OBJS) $(TEST_PROG_TARGET)
4

1 回答 1

1

Eclipse 会尝试快速查找错误,但不会一直更新。不要只依赖 Eclipse 的错误消息。

例如,如果您刚刚向项目中添加了一个文件,Eclipse 可能仍然会告诉您它找不到该文件,而实际上它就在那里。

使用 Project -> Clean 来更新 Eclipse 的错误检查。

于 2012-12-06T20:22:35.777 回答