1.在命令行终端输入:$pkg-config opencv --cflags,可以查看本机安装的opencv的include头文件的目录。

2.在命令行终端输入:$pkg-config opencv --libs,可以查看本机安装的opencv的libs库的目录。

3.写测试样例test.cc:
 

#include <stdio.h>
#include <highgui.h>
 
 
int main(int argc, char** argv){
    IplImage* src = cvLoadImage(argv[1], 1);
    cvShowImage("test", src);
    cvWaitKey(0);
    cvReleaseImage(&src);
    return 0;
}

4.写makefile:

CFLAGS = ${shell pkg-config opencv --cflags}
#LDFLAGS = -L/usr/lib -lopencv_core -lopencv_highgui
LDFLAGS = ${shell pkg-config opencv --libs}
test:test.cc
	gcc $< -o $@ ${CFLAGS} ${LDFLAGS}

自动变量

含义

$@ 目标集合
$% 当目标是函数库文件时, 表示其中的目标文件名
$< 第一个依赖目标. 如果依赖目标是多个, 逐个表示依赖目标
$? 比目标新的依赖目标的集合
$^ 所有依赖目标的集合, 会去除重复的依赖目标
$+ 所有依赖目标的集合, 不会去除重复的依赖目标
$* 这个是GNU make特有的, 其它的make不一定支持

5.编译通过执行:

./test  /home/test//static/bg_new.jpg 

 

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐