##################################################
#1.简单测试
#同一个文件夹下共有func.h、func.c、main.c三个文件
##################################################
#2.通用模板
#对文件进行分类,分为头文件、源文件、目标文件、可
#执行文件,通过Makefile将产生的目标文件放在目标目
#录下,可执行文件放到可执行目录下。
##################################################
##################################################
#--Makefile
#--src目录
# --main.cpp
# --func.cpp
# --func.h
# --head目录
# --head.cpp
# --head.h
#--obj目录
##################################################
##################################################
#后面的就是连接opencv库。
##################################################
##################################################
#使用CMake编译opencv的代码
#新建CMakeLists.txt
#命令1:cmake . #“.”表示当前目录
#命令2:make
##################################################
#1.简单测试
#同一个文件夹下共有func.h、func.c、main.c三个文件
##################################################
CC = gcc
CFLAGS = -g -Wall
main:main.o func.o
$(CC) main.o func.o -o main
main.o:main.c
$(CC) $(CFLAGS) -c main.c -o main.o
func.o:func.c
$(CC) $(CFLAGS) -c func.c -o func.o
clean:
rm -rf *.o
##################################################
#2.通用模板
#对文件进行分类,分为头文件、源文件、目标文件、可
#执行文件,通过Makefile将产生的目标文件放在目标目
#录下,可执行文件放到可执行目录下。
##################################################
DIR_INC = ./include
DIR_SRC = ./src
DIR_OBJ = ./obj
DIR_BIN = ./bin
SRC = $(wildcard ${DIR_SRC}/*.c)
OBJ = $(patsubst %.c,${DIR_OBJ}/%.o,$(notdir ${SRC}))
TARGET = main
BIN_TARGET = ${DIR_BIN}/${TARGET}
CC = gcc
CFLAGS = -g -Wall -I${DIR_INC}
${BIN_TARGET}:${OBJ}
$(CC) $(OBJ) -o $@
${DIR_OBJ}/%.o:${DIR_SRC}/%.c
$(CC) $(CFLAGS) -c $< -o $@
.PHONY:clean
clean:
find ${DIR_OBJ} -name *.o -exec rm -rf {} \;
##################################################
#--Makefile
#--src目录
# --main.cpp
# --func.cpp
# --func.h
# --head目录
# --head.cpp
# --head.h
#--obj目录
##################################################
DIR_OBJ = ./obj
DIR_SRC = ./src
SRC = $(wildcard ${DIR_SRC}/*.cpp ${DIR_SRC}/head/*.cpp)
OBJ = $(patsubst %.cpp, ${DIR_OBJ}/%.o, $(notdir $(SRC)))
INC = $(patsubst %, -I%, $(shell find src -name '[a-zA-Z0-9]*'.h))
BIN_TARGET = main
CC = g++
CFLAGS = -g -Wall $(INC)
${BIN_TARGET}: ${OBJ}
$(CC) $(OBJ) -o $@
${DIR_OBJ}/%.o: ${DIR_SRC}/head/%.cpp
$(CC) $(CFLAGS) -c $< -o $@
${DIR_OBJ}/%.o: ${DIR_SRC}/%.cpp
$(CC) $(CFLAGS) -c $< -o $@
# 防止命名冲突例如有名为clean的文件
.PHONY:clean
clean:
find ${DIR_OBJ} -name *.o -exec rm -rf {} \;
##################################################
#后面的就是连接opencv库。
##################################################
(CPLUS) main.cpp $(CFLAGS) -o $(TARGET) $(OBJS) $(INCLS) $(LIBS) -lml -lcvaux -lhighgui -lcv -lcxcore -lpthread -lrt -lm
##################################################
#使用CMake编译opencv的代码
#新建CMakeLists.txt
#命令1:cmake . #“.”表示当前目录
#命令2:make
##################################################
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )