读书人

Makefile找不到 库 中的函数名解决方

发布时间: 2012-06-19 14:45:20 作者: rapoo

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

读书人网 >UNIXLINUX

热点推荐