【发布时间】:2010-11-25 15:13:29
【问题描述】:
这是我的 Makefile:
DIR=..
ARG=$(QUERY_STRING)
MAIN=main
SRC_DIR=$(DIR)/src
BIN_DIR=$(DIR)/bin
INC_DIR=$(DIR)/inc
LIB_DIR=$(DIR)/lib
LIBS=markdown
all: $(MAIN) exec
$(MAIN): $(MAIN).o
$(LD) $^ -L $(LIB_DIR) -l $(LIBS) -o $(BIN_DIR)/$@
$(MAIN).o: $(SRC_DIR)/$(MAIN).c
$(CC) $^ -I $(INC_DIR) -o $@
exec:
$(BIN_DIR)/$(MAIN) $(ARG)
clean:
rm -f *.o core.* $(BIN)/$(MAIN)
我的项目的组织方式已经很明确了,我就不解释了。它确实编译没有任何问题,但是在二进制执行$(BIN_DIR)/$(MAIN) 时出现以下错误:
../bin/main: error while loading shared libraries: rintf: cannot open shared object file: No such file or directory
make: *** [exec] Error 127
rintf 属于哪个库?我也尝试链接-lc,但这并没有解决问题。
我的Makefile 有问题吗?或者我应该将一些额外的东西链接到$(MAIN)?
提前感谢您的回复。
【问题讨论】: