makefile引用opencv

最近在linux下采用opencv开源库进行图像处理的开发,需要对makefile引用opencv,在网上查了相关资料之后进行了整理。

test2.cpp为所编写的图像处理文件

#include 
#include 
#include 
#include 
int main()
{
        IplImage * image=NULL;

        image = cvLoadImage("lena.jpg");
        if( !image )
                printf("loading error!\n");
        else
        {
                cvNamedWindow("1");
                cvShowImage("1", image);
                cvWaitKey(0);
                cvDestroyWindow("1");
        }
        return 0;
}

Makefile文件编写:

#这里需要根据自己在linux上配置的opencv路径修改
INCLUDES = -I/usr/local/include/opencv
LIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml
LIBDIRS = -L/usr/local/lib

OPT = -O3 -Wno-deprecated

CC=g++

.PHONY: all clean

OBJS= test2.o

clean:
	rm -f *.o *~ test2

all:test2
	echo all:make complete

%.o:%.cpp
	$(CC) -c $(INCLUDES) $+ $(OPT)

test2:$(OBJS)
	$(CC) $(LIBDIRS) $(LIBS) -o $@ $+ $(OPT)

首先输入make all运行makefile,生成test2和test2.o,分别为执行文件和中间目标文件。

然后输入./test2 可以看到运行结果。

执行make clean会清空编译过程中生成的.o文件。

输出效果为显示图像:


你可能感兴趣的:(computer,vision)