我是初學者,當涉及到編寫makefiles時,但我遇到了與我的程序有關的鏈接問題。基本上我在嘗試在遠程機器上構建它時遇到了上述錯誤。 這裏是我的makefile:獲取GCC鏈接器錯誤:鏈接器輸入文件未使用,因爲未完成鏈接
SRCS = gt_cfs.c gt_kthread.c gt_matrix.c gt_pq.c gt_signal.c gt_spinlock.c \
gt_uthread.c red_black_tree.c stack.c misc.c
HDRS = gt_bitops.h gt_cfs.h gt_include.h gt_kthread.h gt_pq.h gt_signal.h \
gt_tailq.h gt_uthread.h red_black_tree.h stack.h misc.h
OBJS = gt_cfs.o gt_kthread.o gt_matrix.o gt_pq.o gt_signal.o gt_spinlock.o \
gt_uthread.o red_black_tree.o stack.o misc.o
CC = gcc
CFLAGS = -Wall -pedantic -lrt -lm
PROGRAM = cfs_gtthreads
.PHONY: clean
all: $(PROGRAM)
$(PROGRAM): $(OBJS)
$(CC) $(CFLAGS) $(OBJS) -o $(PROGRAM)
gt_include.h: gt_bitops.h gt_cfs.h gt_kthread.h gt_pq.h \
gt_signal.h gt_tailq.h gt_uthread.h
gt_cfs.o: gt_cfs.c
gt_kthread.o: gt_kthread.c
gt_matrix.o: gt_matrix.c
gt_pq.o: gt_pq.c
gt_signal.o: gt_signal.c
gt_spinlock.o: gt_spinlock.c
gt_uthread.o: gt_uthread.c
red_black_tree.o: red_black_tree.c
stack.o: stack.c
clean:
rm -f *.o *~ $(PROGRAM)
下面這段代碼工作在我的筆記本電腦,但我必須通過SSH遠程機器上運行我的程序。無論如何,在那臺機器上我得到這個錯誤,所以我很困惑,爲什麼它不能鏈接兩個庫:數學和時間(-lm和-lrt)。 gcc版本不同,我的版本是4.5.2,而羣集機器版本是4.1.2。我也在Ubuntu上運行我的,集羣機器是Red-Hat。我不知道什麼差異會導致這個錯誤,因爲這些是標準庫。任何幫助表示讚賞。
在此先感謝。
感謝您的快速解決。 – Aladdin 2012-02-05 17:21:57
@阿拉丁不客氣! – ouah 2012-02-05 17:29:43