makfile通用版本

DIR_INC = ./include
DIR_SRC = ./src
DIR_OBJ = ./obj
DIR_BIN = ./bin

LIBS += -Wl,-rpath=../lib/HCNetSDKCom  -L./lib/    

LIBS += -lAudioRender -lHCCore -lhcnetsdk -lhpr -lPlayCtrl -lSuperRender -lcameraInterface -lpthread

SRC = $(wildcard ${DIR_SRC}/*.cpp)
OBJ = $(patsubst %.cpp,${DIR_OBJ}/%.o,$(notdir ${SRC}))

CC = g++
TARGET = Test    
BIN_TARGET=$(DIR_BIN)/$(TARGET)
CFLAGS = -g -Wall -o -I${DIR_INC}

${BIN_TARGET}:${OBJ}
    $(CC) $(CFLAGS) $(OBJ)  ${DIR_LIB} ${LIBS} -o $@

${DIR_OBJ}/%.o:${DIR_SRC}/%.cpp
    $(CC)  $(CFLAGS) -I${DIR_INC} -c $< -o $@

.PHONY:clean

clean:
    rm -rf ${DIR_OBJ}/* ${DIR_BIN}/${TARGET}

今天有学习实验了一下mafile 文件

动态库在编译链接时不需要加载,但是最好需要指定一下程序加载动态的路径

-Wl,-rpath=../lib/HCNetSDKCom

静态库都需要指定加载名和加载路径,先指定文件名

LIBS += -lAudioRender -lHCCore -lhcnetsdk -lhpr -lPlayCtrl -lSuperRender -lcameraInterface -lpthread

然后指定静态库加载路径

-L./lib/ 


原文地址:https://www.cnblogs.com/wanghao-boke/p/12036733.html