C和CPP联合交叉编译,出现arm-himix200-linux-g++:linkerin。。。

C和CPP联合交叉编译出现arm-himix200-linux-g++:linkerin。。。
最近在⽤海思的makefile编译⼀些库,在遇到C和CPP联合混编的时候出现⼀些问题,以此做个记录Makefile如下:
SMP_SRCS :=$(shell find ./ -name "*.c")
SMP_SRCPPS :=$(shell find ./ -name "*.cpp")
OBJS  :=$(SMP_SRCS:%.c=%.o)
CPPOBJS  :=$(SMP_SRCPPS:%.cpp=%.o)
咕噜姆#新增链接头⽂件,使⽤-I参数
INC_FLAGS := -I$(LOCAL_PATH)/src
#编译.so需要⽤到-fPIC -shared编译选项鄞州区建设局
原罪感
CFLAGS += -fPIC -shared
CFLAGS +=$(COMM_INC)
#链接第三⽅库
伤怀之美
LFLAG := -llog
#指定第三⽅库的路径
LFLAG += -L$(LIB_PATH)
TARGET := libxxx.so
TARGET_PATH:=$(LIB_PATH)
CFLAGS +=$(INC_FLAGS)
.PHONY : clean all
all: $(TARGET)
$(TARGET):$(COMM_OBJ)$(OBJS)$(CPPOBJS)
@$(CPP)$(CFLAGS) -lpthread -lm -o $(TARGET_PATH)/$@ $^ -Wl,--start-group $(LFLAG)$(LIBS)  -Wl,--end-group
#$(CPPOBJS):%.o:%.cpp
# @$(CPP) -c $< $(CFLAGS) -lpthread -lm -o $@ -Wl,--start-group $(LFLAG) $(LIBS)  -Wl,--end-group
#这⾥指定cpp⽂件⽤arm-himix200-linux-g++去编译,但是后⾯不需要跟LFLAG和LIBS,所以去掉就正常了
$(CPPOBJS):%.o:%.cpp
@$(CPP) -c $<$(CFLAGS) -lpthread -lm -o $@
clean:贞孝公主墓
@rm -f $(TARGET_PATH)/$(TARGET)飞利浦190ew9
@rm -f $(OBJS)
@rm -f $(CPPOBJS)
@rm -f $(COMM_OBJ)
以上CC和CPP别的地⽅已经定义过了,相关的变量也是定义过了,就不全部贴出来了。另外虽然TARGET下⽤的也是CPP,但是实际编译⾥⾯的.c⽂件还是⽤的gcc⼯具

本文发布于:2024-09-22 06:38:59,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/264702.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:编译   联合   出现   时候   相关   链接   贴出来
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议