opencv下一键编译程序的Makefile

有多个头文件和传文件的opencv小伙伴可以使用本Makefile。只需要将所有的c/c++文件和头文件放在同一个文件下makefile就可以自己去找依赖,前提是opencv安装成功而且配置好环境,如果没配置好文件的请参考我的另外一个文章点击打开链接

因为makefile里面有tab的要求,所以如果不能运行的请到https://download.csdn.net/download/komonder/10368950下载。

######################################

#

######################################

#source file

#源文件,自动找所有.c和.cpp文件,并将目标定义为同名.o文件

SOURCE  := $(wildcard *.c) $(wildcard *.cpp)

OBJS    := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))

  

#target you can change VideoHsv to what you want

#目标文件名,输入任意你想要的执行文件名

TARGET  := camera

  

#compile and lib parameter

#编译参数



#CC         编译器

#LIBS       链接器的库文件

#LDFLAGS    gcc 等编译器会用到的一些优化参数,也可以在里面指定库文件的位置

#DEFINES    宏定义

#INCLUDE    包含

#CFLAGS   	表示用于 C 编译器的选项

#CXXFLAGS	表示用于 C++ 编译器的选项



CC      := g++ 

LIBS    := $(shell pkg-config --libs  opencv)

#LIBS    :=  pkg-config --cflags --libs opencv

LDFLAGS :=

DEFINES :=

#编译包含的头文件所在目录 

INCLUDE := -I.  $(shell pkg-config --cflags  opencv) 

CFLAGS  := -g -Wall -O3 $(DEFINES) $(INCLUDE) 

CXXFLAGS:= $(CFLAGS) -DHAVE_CONFIG_H

  

  

#i think you should do anything here

#下面的基本上不需要做任何改动了

.PHONY : everything objs clean veryclean rebuild

  

everything : $(TARGET)

  

all : $(TARGET)

  

objs : $(OBJS)

  

rebuild: veryclean everything

                

clean :

	rm -fr *.so

	rm -fr *.o

    

veryclean : clean

	rm -fr $(TARGET)

  

$(TARGET) : $(OBJS)

	$(CC) $(CXXFLAGS) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值