zaley 发表于 2010-07-16 09:42

新手问一个 makefile问题

我有一makefile 文件:

#make file
.EXPORT_ALL_VARIABLES:

PPC=/ppc-linux
BIN=/ppc-linux/bin
PREX=ppc-linux

AR = $(BIN)/$(PREX)-ar
RANLIB=$(BIN)/$(PREX)-ranlib
LD=$(BIN)/$(PREX)-ld
CC=$(BIN)/$(PREX)-gcc
NM=$(BIN)/$(PREX)-nm
CFLAGS = -Wall -mcpu=603e -Dlinux -DLINUX -D__linux__ -Dunix   -fno-builtin
#CFLAGS += -DEMBED -I/$(PPC)/include-I./-I $(PPC)/$(PREX)/include
CFLAGS += -DEMBED -I/$(PPC)/include -v
LDFLAGS =-static -v
LDLIBS += $(PPC)/$(PREX)/lib/libpthread.a
LDLIBS += $(PPC)/$(PREX)/lib/libc.a
LDLIBS += $(PPC)/$(PREX)/lib/libm.a

EXEC = test
OBJS = test0.o

all: $(EXEC)
$(EXEC): $(OBJS)
        $(CC) $(LDFLAGS) $(OBJS) $(LDLIBS) -L. -lhello -o $@
        $(NM) $(EXEC) > ppc.map
#..c.o:
#        $(CC) $(CFLAGS) -c $<
clean:
        rm -f $(EXEC) *.elf *.gdb *.o


当前目录下明明有libhello.so,但编译就是报找不到词库文件 “can't find-lhello".
请高手指点

prolj 发表于 2010-07-16 10:16

换绝对路径试试看。

zaley 发表于 2010-07-16 10:19

本帖最后由 zaley 于 2010-07-16 10:21 编辑

回复 2# prolj


    绝对路径也不行   -L/test/kld -lhello
将libhello.so 放到 /lib目录下 也不行 。
是不是libhello.so有问题 ?
我用的是 cygwin 环境。

EricFisher 发表于 2010-07-16 11:23

> LDFLAGS =-static -v

是不是因为你用的静态链接,需要.a库而不是.so库?

zaley 发表于 2010-07-16 13:55

回复 4# EricFisher


    对,就是这样,谢谢
页: [1]
查看完整版本: 新手问一个 makefile问题