makefile多文件编译
【摘要】 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)