makefile多文件编译

举报
风吹稻花香 发表于 2021/06/05 01:59:53 2021/06/05
【摘要】 makefile没有后缀,大小写都可以,下面是例子 # compile macro CC = g++ CFLAGS = -O3 -Wall -mfpu=neon LDFLAGS = -lm INCLUDES= -I/usr/local/include -I/usr/include LIBS = $(SUBLIBS) /usr/local/...

makefile没有后缀,大小写都可以,下面是例子

 # compile macro  
 CC = g++  
 CFLAGS  = -O3 -Wall -mfpu=neon
 LDFLAGS = -lm  
 INCLUDES= -I/usr/local/include -I/usr/include 
 
 LIBS = $(SUBLIBS) /usr/local/lib/libopencv_highgui.so /usr/local/lib/libopencv_core.so /usr/local/lib/libopencv_imgproc.so /usr/local/lib/libopencv_video.so -lopencv_imgcodecs -lstdc++ -lfftw3 -lfftw3f -lGLESv2 -lpthread 
 # user modify: target and objects  
 EXENAME = test  
 OBJECTS = main.o \
 aaaaaa.o \
 bbbbbbbb.o
 
 # make target  
 all:${OBJECTS}  
 ${CC} -o ${EXENAME} *.o ${LDFLAGS} ${INCLUDES} ${LIBS}   
 
 # make clean  
 clean:  
 rm -rf ${EXENAME} ${OBJECTS}   
 
 # dependence 
 %.o : %.cpp  
 ${CC} ${CFLAGS} ${INCLUDES} -c $< -o $@
 %.o : %.cc  
 ${CC} ${CFLAGS} ${INCLUDES} -c $< -o $@


注意:

INCLUDES 的每一项都需要加 -I,否则会报错,例如下面的:

 INCLUDES= -I/usr/local/include -I/usr/include 

异常:

SSE2NEON.h:120:16: error: 'vst1q_f32' was not declared in this scope
  vst1q_f32(p, a);

解决:
 CFLAGS  = -mfpu=neon

异常:
fhog.cpp:(.text+0x350a): undefined reference to `cv::Mat::copyTo(cv::_OutputArray const&) const'

simpletracker.cpp:(.text+0x1d1e): undefined reference to `fftwf_execute'

解决:
${LIBS}


文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/61615926

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。