JeremyJ · 2021年12月01日

【经验分享】linux 下使用 Makefile 快速构建单工程教程

欢迎关注我的公众号 [极智视界]

  大家好,我是极智视界,本教程详细介绍了在 linux 下使用 Makefile 快速构建单工程的方法。

   本文的亮点是快速构建工程,所以不会长篇大论 Makefile 语法。

  直接开始,假设有一个测试 cpp: test.cpp,然后它可能会有一些依赖,如 opencv、cuda 等等,现在给出一个 Makefile,通过简单的配置就能把你的 test 可执行程序编译出来,进行快速的测试验证工作。

## Makefile

CXX = g++

CXX_FLAGS += -std=c++14
CXX_FLAGS += -Wl,-rpath-link

INCLUDES += -I../xxxx/include                                           # 头路径
INCLUDES += -I../xxx/xxx/include

LINKS += -L../xxx/lib                                                   # 库路径
LINKS += -L../xxx/xxx/lib                                               

LIBS += -lcuda -lcurt -pthread                                          # 添加一些依赖库
LIBS += -lopencv_imgproc -lopencv_imgcodecs -lopencv_core -lopencv_dnn


# For debug build, use the command: `make debug=1' 
ifeq ($(debug), 1)                                                      # debug 模式  
      CXX_FLAGS += -DDEBUG -g              
endif

SRCS = test.cc
EXECUTABLE = test

$(EXECUTABLE): $(SRCS)                                                 # 编译指令
    $(CXX) $(SRCS) $(CXX_FLAGS) $(INCLUDES) $(LINKS) $(LIBS) -o $(EXECUTABLE)

clean:                                                                 # make clean
    rm -f $(EXECUTABLE)

   目录树如下,也就是把俩文件放同一目录下就行:

- Makefile
- test.cpp

   执行编译:

make

  如果需要 debug 的话,可以这样编译:

make debug=1

  完了就会生成 test 可执行程序了,十分快速及简单。

   以上分享了在 linux 下使用 Makefile 快速构建单工程的方法,希望我的分享会对你的学习有一点帮助。

【公众号传送】
【经验分享】linux 下使用 Makefile 快速构建单工程教程

推荐阅读
关注数
5
内容数
25
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息