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. java 定时器的三种方式

    原地址:http://blog.csdn.net/haorengoodman/article/details/23281343/ /** * 普通thread * 这是最常见的,创建一个thread, ...

  2. 获取mac地址和IP地址方式

    第一种 public class OperateMAC{ public static string GetMacByWMI() { string MacAddr = null; //Managemen ...

  3. BZOJ 1207

    1207: [HNOI2004]打鼹鼠 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3089  Solved: 1499[Submit][Statu ...

  4. 第六篇:远程过程调用(RPC)

    Remote procedure call (RPC) 客户端接口 有关RPC的说明 回调队列 消息属性 关联的ID ( Correlation Id ) 整合 在第二篇教程中,我们学习了如何使用工作 ...

  5. hdu 5186(模拟)

    zhx's submissions Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others ...

  6. [BZOJ3027][Ceoi2004]Sweet 容斥+组合数

    3027: [Ceoi2004]Sweet Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 135  Solved: 66[Submit][Status] ...

  7. 关于android studio3.0版本后引入资源问题error: failed linking file resources

    最近更新阿里短视频的SDK,导入demo项目时,发现两个问题: 1.频繁报错AAPT2 error: file not found.以为直接Sync重新编译就可以,但是仍旧频繁提醒引入资源错误. 查找 ...

  8. SyntaxError: Non-ASCII character '\xe7' in file 错误的解决方法

    在代码开头写下面的定义即可 #encoding:utf-8

  9. CF982 C Cut 'em all!【树/DFS/思维】

    [链接]:CF982C [题意]:有一颗树,你需要切掉一些边,使这颗树分拆成若干个节点为偶数的联通分量,最多能切掉几条边.若不能切,输出-1. [分析]: 1.若点数n为奇数,因为奇数不可能分为偶数, ...

  10. luoguP2296 寻找道路

    因为是出边与终点直接或间接相连,所以将边反向,从终边开始,将所有终边能到达的点都打上标记因为是最短路,所以不需要处理重边和自环,于是再跑最短路就好题目关键:路径上的所有点的出边所指向的点都直接或间接与 ...