makefile通用版本(三)
2024-10-20 07:16:33
DIR_INC = ./include
DIR_SRC = ./src
DIR_OBJ = ./obj
DIR_BIN = ./bin DIR_LIB = -Wl,-rpath=/home/exbot/shareWin/UnityCamera/TestCamera/lib \\
-L/home/exbot/shareWin/UnityCamera/HKUnifyCamera_one/Debug \\
-L/home/exbot/shareWin/UnityCamera/hk_one_camera 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}/*
说明:
-rpath 用于指定程序运行时链接的动态库。如果是相对路径的话,这个相对路径作用与程序运行时的文件路径,而非程序所在文件路径。
-L: 用于程序编译阶段链接的静态库。 $$PWD: 获取当前路径环境变量。
-rpath=$$PWD/../HKUnifyCamera_one/Debug
这个指定动态库路径的方法结合了相对路径和绝对路径方法的两种优点,既可以避免更换环境时需要不停的修改依赖库的路径,又可以避免相对路径定义时只能在特定文件夹下运行程序。
只是需要把程序和所依赖的库按照固定顺序一起移动即可。
最新文章
- php类中的魔术方法
- Createjs学习一
- 思科Cisco 2960系列交换机配置命令
- Oracle数据库入门——初级系列教程
- 项目笔记---Windows Service调用Windows API问题
- 负MARGIN之讲解
- ASP.NET MVC 学习第一天
- iOS H5容器的一些探究(一):UIWebView和WKWebView的比较和选择
- 通过例子学python(2.2)
- 【技术宅3】截取文件和url扩展名的N种方法
- 解决VS2010使用comboBox死机问题
- (五)CodeMirror - 关于htmlmixed中包含script脚本
- (转) Java程序员应该知道的10个调试技巧
- oracle中的rowid--伪列-删除表中的重复内容-实用
- angular2入门,就这一篇就够了
- Matlab实用技巧
- Jenkins配置中安装插件时提示“No such plugin: cloudbees-folder”
- [C语言]使用数组
- Linux操作系统基本操作(1)
- 使用 docker 搭建 openvpn,创建、删除用户证书