一个C++ Makefile 的例子

 

Makefile 文件不容许多余的空格,开头不能是空格

1,makefile文件中命令行的行首不能用空格,而要用Tab键。

2,makefile文件中的字符格式有要求,必须是英文字符,不能有中文字符。

 

Makefile不再编译已经编译过的未更新文件

https://blog.csdn.net/Rong_Toa/article/details/88257998

# g++   -std=c++17    -I /home/software/opencv/include/    cvimage.h  cvtest.cpp   -o cvddd   -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -L/home/software/opencv/lib
CC=gcc

CXX=g++ -std=c++17

CPFLAGS = -g -O2 -Wall
INCLUDE= -I. -I/home/software/opencv/include/

LIBRARY= -L/home/software/opencv/lib

#MATHFLAG = -lm

LDFLAGS =  -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs

SRC =  cvtest.cpp  #源文件

#OBJ = $(SRC:.c=.o)

OBJ = cvtest.o #所有要生成的.o文件

#ALL= cvtest
BIN= cvtest

all:$(BIN)

$(BIN):$(OBJ)
        $(CXX) $(CPFLAGS)  $(INCLUDE) $(LIBRARY)  -o $@ $(OBJ) $(LDFLAGS)

%.o:%.cpp
        $(CXX) -c  $(INCLUDE)  $(LIBRARY) $(CPFLAGS)  $< 

$(SRC):cvimage.h

.PRONY:
        clean

clean:
        @echo "Removing linked and compiled files......"
        rm -rf $(OBJ) $(BIN)
#cvimge:cvtest.o
#       g++   -o  cvtest   cvtest.o  -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -L/home/software/opencv/lib
#
#cvtest.o:cvtest.cpp
#       g++   -std=c++17  -I /home/software/opencv/include/  -c cvtest.cpp  -o cvtest.o

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值