欢迎关注我的公众号 [极智视界]
大家好,我是极智视界,本教程详细介绍了在 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 快速构建单工程教程》