我遇到了一些與我的動態庫有關的編譯問題。它應該鏈接到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