我遇到了一些与我的动态库有关的编译问题。它应该链接到main.c,但是对于所有对它的引用,我都会收到“对function_name的未定义引用”。未定义的引用和链接库
main.c的内容并不那么重要;我包括我的库:
#include "matrix.h"
然后,我有一个简单的Makefile链接两个。
#Variables
LIB = matrix
# Usual compilation flags
CFLAGS = -std=c99 -Wall -Wextra -g
CPPFLAGS = -I../include -DDEBUG
LDFLAGS = -lm
# Special rules and targets
.PHONY: all clean help
all: $(LIB).o libmatrix.so main
$(LIB).o: $(LIB).c $(LIB).h
$(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o [email protected] $<
libmatrix.so: $(LIB).o
$(CC) $(CFLAGS) -fPIC -shared -o [email protected] $< $(LDFLAGS)
main: main.o libmatrix.so
$(CC) $(CFLAGS) -o [email protected] $< -L -lmatrix
任何人都可以指导我到哪里我可能会出错吗?提前谢谢了。
请发布编译错误结果。 – MajorBetaVictory 2014-10-17 07:07:21
...包括'make'运行发出的实际命令(应该回显给终端)。 – WhozCraig 2014-10-17 07:08:20