【发布时间】:2013-02-02 10:13:16
【问题描述】:
我想将 .c 文件编译为 .so(共享库)。 而且我不明白为什么,我有那个使我出错的makefile:
LIB = libmy.so
SRC = lib.c
CC = gcc
OBJ = $(CC) -c -fPIC $(SRC)
all: $(LIB)
re: fclean all
$(LIB): $(OBJ)
$(CC) -shared -fPIC $(OBJ) -o $(LIB)
clean:
$(RM) $(OBJ)
fclean: clean
$(RM) $(LIB)
提前感谢您的帮助。
【问题讨论】:
-
也许你有空格而不是制表符?
-
写 LIB = -llibmy?我相信这应该可以解决问题。 -l 告诉链接器按名称链接库。
-
@RefugnicEternium 这将解决链接器错误,但这里是
make本身窒息。 -
不应该是
OBJ = $(CC) -c -fPIC $(SRC)是OBJ = mylib.o? -
@user786653 绝对应该。将其发布为答案。
标签: c makefile shared-libraries