CXX = g++
LIBS +=`pkg-config --libs opencv`
INC +=`pkg-config --cflags opencv`
CPPFLAGS += -g -std=c++ -Wall SRCS = detect.cpp
TARGET = detect
OBJS = detect.o $(TARGET):$(OBJS)
$(CXX) $(INC) $(CPPFLAGS) $(OBJS) -o $(TARGET) $(LIBS)
$(OBJS):%.o:%.cpp
$(CXX) $(INC) $(CPPFLAGS) -c $< -o $@ .PHONY:clean
clean:
rm -r *.o $(TARGET)
 CXX = g++
LDLIBS += `pkg-config --libs opencv`
INC += `pkg-config --cflags opencv`
CPPFLAGS += -g -std=c++ -Wall -I./ TARGET = edges
OBJS = edges.o label.o
SRCS = edges.cpp label.cpp
HEAD = label.hpp $(TARGET):$(OBJS)
$(CXX) -o $(TARGET) $(OBJS) $(LDLIBS) %.o:%.c $(HEAD)
$(CXX) $(INC) $(CPPFLAGS) -c $> -o $@ .PHONY:clean
clean:
rm -r *.o
 CXX = g++
INC += `pkg-config --cflags opencv`
LIBS += `pkg-config --libs opencv` #dir
DIR_INC = ./include
DIR_SRC = ./src
DIR_OBJ = ./obj
DIR_BIN = ./bin CPPFLAGS += -g -std=c++ -Wall -I${DIR_INC} #SRC = $(wildcard ${DIR_SRC}/*.cpp)
SRC1 = ${DIR_SRC}/detect.cpp ${DIR_SRC}/tools.cpp
OBJ1 = $(patsubst %.cpp,${DIR_OBJ}/%.o,$(notdir ${SRC1}))
BIN_TARGET1 = ${DIR_BIN}/detect SRC2 = ${DIR_SRC}/detect2.cpp ${DIR_SRC}/tools.cpp
OBJ2 = $(patsubst %.cpp,${DIR_OBJ}/%.o,$(notdir ${SRC2}))
BIN_TARGET2 = ${DIR_BIN}/detect2 SRC3 = ${DIR_SRC}/detect_circle.cpp ${DIR_SRC}/tools.cpp
OBJ3 = $(patsubst %.cpp,${DIR_OBJ}/%.o,$(notdir ${SRC3}))
BIN_TARGET3 = ${DIR_BIN}/detect_circle SRC4 = ${DIR_SRC}/detect_circle2.cpp ${DIR_SRC}/tools.cpp
OBJ4 = $(patsubst %.cpp,${DIR_OBJ}/%.o,$(notdir ${SRC4}))
BIN_TARGET4 = ${DIR_BIN}/detect_circle2 SRC5 = ${DIR_SRC}/hog_svm_test.cpp ${DIR_SRC}/tools.cpp
OBJ5 = $(patsubst %.cpp,${DIR_OBJ}/%.o,$(notdir ${SRC5}))
BIN_TARGET5 = ${DIR_BIN}/hog_svm_test SRC6 = ${DIR_SRC}/hog_svm_test2.cpp ${DIR_SRC}/tools.cpp
OBJ6 = $(patsubst %.cpp,${DIR_OBJ}/%.o,$(notdir ${SRC6}))
BIN_TARGET6 = ${DIR_BIN}/hog_svm_test2 SRC7 = ${DIR_SRC}/hog_svm_test2.cpp ${DIR_SRC}/tools.cpp
OBJ7 = $(patsubst %.cpp,${DIR_OBJ}/%.o,$(notdir ${SRC7}))
BIN_TARGET7 = ${DIR_BIN}/hog_svm_test3 detect:${BIN_TARGET1} detect2:${BIN_TARGET2} detect_circle:${BIN_TARGET3} detect_circle2:${BIN_TARGET4} hog_svm_test:${BIN_TARGET5} hog_svm_test2:${BIN_TARGET6} hog_svm_test3:${BIN_TARGET7} # echo:
# echo $(OBJ1)
# echo $(BIN_TARGET)
# echo $(notdir ${SRC1}) ${BIN_TARGET1}:${OBJ1}
$(CXX) -o $@ $(OBJ1) $(LIBS) ${BIN_TARGET2}:${OBJ2}
$(CXX) -o $@ $(OBJ2) $(LIBS) ${BIN_TARGET3}:${OBJ3}
$(CXX) -o $@ $(OBJ3) $(LIBS) ${BIN_TARGET4}:${OBJ4}
$(CXX) -o $@ $(OBJ4) $(LIBS) ${BIN_TARGET5}:${OBJ5}
$(CXX) -o $@ $(OBJ5) $(LIBS) ${BIN_TARGET6}:${OBJ6}
$(CXX) -o $@ $(OBJ6) $(LIBS) ${BIN_TARGET7}:${OBJ7}
$(CXX) -o $@ $(OBJ7) $(LIBS) ${DIR_OBJ}/%.o:${DIR_SRC}/%.cpp
$(CXX) $(CPPFLAGS) -c $< -o $@ .PHONY:clean
clean:
find ${DIR_OBJ} -name *.o -exec rm -rf {} \;
 
 

makefile opencv的案例的更多相关文章

  1. makefile与动态链接库案例分析——动态库链接动态库

    http://blog.csdn.net/huqinwei987/article/details/50517780 背景:效率考虑,要重用把服务器主备机方案,以库Libmdpha(高可用)的形式加进主 ...

  2. OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建

    # OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建 [-= 博客目录 =-] 1-学习目标 1.1-本章介绍 1.2-实践内容 1.3-相关说明 2-学习过程 2.1-hom ...

  3. 解决 yolov3: Demo needs OpenCV for webcam images

    默认情况下yolo的Makefile文件有个配置OPENCV=0,你需要将它改成 0 ,然后重新make 编译make 编译就会启用 opencv,此时你需要在你的电脑上安装opencv 才可以 修改 ...

  4. Makefile 描述的是文件编译的相关规则,它的规则主要是两个部分组成,分别是依赖的关系和执行的命令 PHONY伪目标实践

    Makefile的工作流程 http://c.biancheng.net/view/7091.html Makefile文件是什么? 我们教程主要是讲的是 Makefile .很多 Linux(Uni ...

  5. opencv-Python---动态人脸捕捉

    本章重点内容: 1.python写人脸识别 2.选择OpenCv框架 案例1 导入图片并打开显示 思路:1.导入库 2.加载图片 3.创建窗口 4.显示图片 5.暂停窗口 6.关闭窗口 #1.导入库 ...

  6. OpenCV2.3.1在CentOS6.5下的安装

    安装的linux版本号是centos6.5.选择的是opencv2.3.1.不是非常新的版本号. 由于在安装opencv2.4.9的时候.make的过程中出现了问题. 一:安装依赖包 依赖包用yum安 ...

  7. Github开源人脸识别项目face_recognition

    Github开源人脸识别项目face_recognition 原文:https://www.jianshu.com/p/0b37452be63e 译者注: 本项目face_recognition是一个 ...

  8. makefile for opencv

    makefile #################################################### # Generic makefile - 万能Makefile # for ...

  9. opencv的CMakeLists.txt与makefile写法

    opencv的CMakeLists.txt cmake_minimum_required(VERSION 2.8) project(my_run_name) find_package(OpenCV R ...

随机推荐

  1. kuangbin带你飞 最短路 题解

    求一个图最短路边的办法.好像下面的那个有问题.单向边和双向边一定是有区别的.这个比较容易.参照该文的最短路网络流题目和连通图题目一题求最短路关节边 另外上述2个题目的代码好像有问题. 在UVALIVE ...

  2. expect基础及实例

    expect基础及实例 http://blog.csdn.net/zhuying_linux/article/details/6900805

  3. zabbix mysql自动发现规则

    1.配置mysql,添加监控用的账号,授予查看所有用户线程/连接的权限 GRANT PROCESS ON *.* TO 'zabbix'@'127.0.0.1' identified BY '20c1 ...

  4. Oracle存储过程学习笔记

    SQL是一种语言! SQL是一种语言! SQL是一种语言! 个人理解:存储过程就相当于Java中的方法;声明变量区域就相当于java中的声明局部变量一样,只是放到一个指定区域定义了 一.先看一部分基础 ...

  5. String类的常见方法的使用案例

    String类的常见方法的使用案例 //使用指定的字符串替换当前字符串中指定的内容 //将helloworld中的o替换为a String s="HelloWorld"; Stri ...

  6. Interface与abstract类的区别

    含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象.含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必 ...

  7. tomcat中reloadable作用

    reloadable作用 reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监 ...

  8. java异常基本知识

    Throwable     |--Error     |--Exception         |--RuntimeException                异常体系的特点:异常体系中的所有类 ...

  9. Spring:面向切片编程

    在之前我们记录Spring的随笔当中,都是记录的Spring如何对对象进行注入,如何对对象的属性值进行注入,即我们讲解的很大部分都是Spring的其中一个核心概念——依赖注入(或者说是控制翻转,IOC ...

  10. OJP1147括号匹配加强版(栈)与P1153乱头发节(单调栈)

    惨兮兮的被刷掉2%的通过率后在经过思考和dalao的指点后终于A掉了这道题 强烈建议修改这题的样例,实在太迷惑人,各种错误算法都能过 比如说这是一份错误代码,看懂了也不要学思路,和正解不知道差到哪里去 ...