makefile opencv的案例
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的案例的更多相关文章
- makefile与动态链接库案例分析——动态库链接动态库
http://blog.csdn.net/huqinwei987/article/details/50517780 背景:效率考虑,要重用把服务器主备机方案,以库Libmdpha(高可用)的形式加进主 ...
- OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建
# OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建 [-= 博客目录 =-] 1-学习目标 1.1-本章介绍 1.2-实践内容 1.3-相关说明 2-学习过程 2.1-hom ...
- 解决 yolov3: Demo needs OpenCV for webcam images
默认情况下yolo的Makefile文件有个配置OPENCV=0,你需要将它改成 0 ,然后重新make 编译make 编译就会启用 opencv,此时你需要在你的电脑上安装opencv 才可以 修改 ...
- Makefile 描述的是文件编译的相关规则,它的规则主要是两个部分组成,分别是依赖的关系和执行的命令 PHONY伪目标实践
Makefile的工作流程 http://c.biancheng.net/view/7091.html Makefile文件是什么? 我们教程主要是讲的是 Makefile .很多 Linux(Uni ...
- opencv-Python---动态人脸捕捉
本章重点内容: 1.python写人脸识别 2.选择OpenCv框架 案例1 导入图片并打开显示 思路:1.导入库 2.加载图片 3.创建窗口 4.显示图片 5.暂停窗口 6.关闭窗口 #1.导入库 ...
- OpenCV2.3.1在CentOS6.5下的安装
安装的linux版本号是centos6.5.选择的是opencv2.3.1.不是非常新的版本号. 由于在安装opencv2.4.9的时候.make的过程中出现了问题. 一:安装依赖包 依赖包用yum安 ...
- Github开源人脸识别项目face_recognition
Github开源人脸识别项目face_recognition 原文:https://www.jianshu.com/p/0b37452be63e 译者注: 本项目face_recognition是一个 ...
- makefile for opencv
makefile #################################################### # Generic makefile - 万能Makefile # for ...
- opencv的CMakeLists.txt与makefile写法
opencv的CMakeLists.txt cmake_minimum_required(VERSION 2.8) project(my_run_name) find_package(OpenCV R ...
随机推荐
- 【linux】kill ;杀死某一用户下的所有进程
[linux]kill :杀死某一用户下的所有进程 https://my.oschina.net/u/347414/blog/600854
- SpringMVC与Spring的父子容器关系
问题: 在整合框架的时候有人也许会产生一个问题:能不能只配置一个扫描包加载实现类的扫描驱动,即在根目录下扫描所有的注解(@Controller.@Service.@Repository.@Compne ...
- Centos7/RHEL 7 配置静态路由
如图: 业务地址:192.168.10.0/24 192.168.20.0/24管理地址:172.168.10.0/24 172.168.20.0/24 需求:每台主机配置两张网卡,分别连 ...
- Delphi New,Getmem,ReallocMem联系与区别
来自:http://www.cnblogs.com/jsrgren/archive/2011/10/31/2270353.html ---------------------------------- ...
- python 判断质数还是合数
while 1: s = input('请输入一个数:') s = int(s) if s == 2: print('质数') else: if s == 0 or s == 1: print('都不 ...
- seleniumu 3.0复选框操作(定位一组元素)
一般验证复选框是否可以选择点击常用到定位一组元素去循环遍历执行点击事件.但是有时候在不同的浏览器下可能会存在差异化的最终结果. 目前谷歌浏览器常常存在多次点击同一复选框,导致最终最后两项复选框均未被勾 ...
- hdu 1281(最小点覆盖数)
棋盘游戏 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- mysql 如何提高批量导入的速度
mysql 如何提高批量导入的速度 最近一个项目测试,有几个mysql数据库的表数据记录达到了几十万条,在搭建测试环境 导入 测试数据时,十分慢.在网上搜索了一下,有下面一些方法可以加快mysql数据 ...
- GO语言的数据结构测试
用于docker了,go也慢慢看一些.. 推荐书籍<go语言实践>就是<Go in Action>的中文版,有文字版PDF的. package main import ( &q ...
- 使用 gulp 压缩 JS
使用 gulp 压缩 JS 请务必理解如下章节后阅读此章节: 安装 Node 和 gulp 压缩 js 代码可降低 js 文件大小,提高页面打开速度.在不利用 gulp 时我们需要通过各种工具手动完成 ...