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

Posted 极智视界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经验分享linux 下使用 Makefile 快速构建单工程教程相关的知识,希望对你有一定的参考价值。

欢迎关注我的公众号 [极智视界],回复001获取Google编程规范

O_o>_<o_OO_o~_~o_O

  大家好,我是极智视界,本教程详细介绍了在 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 快速构建单工程的方法,希望我的分享会对你的学习有一点帮助。

br/>
 【公众号传送】

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



扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多AI经验分享,让我们用极致+极客的心态来迎接AI !

以上是关于经验分享linux 下使用 Makefile 快速构建单工程教程的主要内容,如果未能解决你的问题,请参考以下文章

来自Linux老学员的经验分享,新生必看!

Linux下的第一步——进度条(gcc&Makefile)

Linux内核配置编译及Makefile简述

PIC单片机开发环境的搭建总结及新上手单片机平台如何实现快速开发的几点经验分享

使用 Makefile.am/Makefile.in 在 Ubuntu Linux 中构建 c++ 项目

经验分享:程序员如何快速定位问题(BUG)