【发布时间】:2013-12-29 08:15:38
【问题描述】:
例外在这里:
g++ -L/usr/local/lib -I./include -I. -lopencv_core -lopencv_highgui -lopencv_imgproc main.o ColorTransfer.o
main.o: In function `showImg(std::string, cv::Mat, int)':
main.cpp:(.text+0x21): undefined reference to `cv::namedWindow(std::string const&, int)'
main.cpp:(.text+0x34): undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'
main.cpp:(.text+0x75): undefined reference to `cv::imshow(std::string const&, cv::_InputArray const&)'
main.cpp:(.text+0x9d): undefined reference to `cv::waitKey(int)'
main.o: In function `main':
Makefile 在这里:
CC=g++
FLAGS=-L./lib -I./include -I. -lopencv_core -lopencv_highgui -lopencv_imgproc
all: ColorTransfer
ColorTransfer: main.o ColorTransfer.o
$(CC) $(FLAGS) main.o ColorTransfer.o -o ColorTransfer
main.o: main.cpp
$(CC) $(FLAGS) -c main.cpp -o main.o
ColorTransfer.o: ColorTransfer.cpp ColorTransfer.h
$(CC) $(FLAGS) -c ColorTransfer.cpp -o ColorTransfer.o
clean :
rm -rf main.o ColorTransfer.o
当前目录包含名为lib的目录,其中有opencv库。
【问题讨论】:
-
make正在执行您错误地要求它执行的操作。但是g++在您的Makefile中被错误地调用;不是make,而是g++,它没有找到库...