Makefile找不到 库 中的函数名
大家好,我编写了一个Makefile(内容如下),需要加载外面的三个.a文件,这个Makefile可以编译.cpp文件,可是到了链接的时候,总是出现错误,说找不到 某些函数,请问下为什么,我能保证 “找不到的”函数,在库中是有定义的,谢谢大家了!
IPC_DIR =./ipc
TARGET = main
CROSS_COMPILE= arm-linux-
C_FLAGS += -Wall -g -O3
CPP_FLAGS += -I./ipc -I.
LD_FLAGS += -lpthread
COMPILE.c = $(CROSS_COMPILE)g++ $(C_FLAGS) $(CPP_FLAGS) -c
LINK.c = $(CROSS_COMPILE)g++ $(LD_FLAGS)
RELTARGET = $(TARGET)
RELCFLAGS = -fno-strict-aliasing
SOURCES = $(wildcard *.cpp)
HEADERS = $(wildcard *.h)
RELOBJFILES = $(SOURCES:%.cpp=%.o)
.PHONY: clean release install
all: release
release: $(RELTARGET)
#我是这样加载 库文件的。
$(RELTARGET): $(RELOBJFILES) AAA.a BBB.a CCC.a
$(LINK.c) -o $@ $^
$(RELOBJFILES): %.o: %.cpp $(HEADERS)
$(COMPILE.c) $(RELCFLAGS) -o $@ $<
clean:
-$(RM) -f *.o *.d
------解决方案--------------------
$(LINK.c) -o $@ $^
试试把$^换成$*
$(LINK.c) -o $@ $*
------解决方案--------------------
试试link之前
arm-linux-ranlib AAA.a
arm-linux-ranlib BBB.a
arm-linux-ranlib CCC.a