私は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を介してリモートマシン上で私のプログラムを実行する必要があります。とにかくそのマシン上でこのエラーが発生する箇所があるので、なぜ2つのライブラリをリンクできないのか混乱しています:数学と時刻(-lmと-lrt)。 gccのバージョンは異なります。私のバージョンは4.5.2で、クラスタマシンは4.1.2です。私もUbuntuで稼動しています。クラスタマシンはRed Hatです。これらは標準ライブラリなので、どのような違いがこのエラーを引き起こすのか分かりません。どんな助けもありがとうございます。
ありがとうございます。
クイックフィックスをお寄せいただきありがとうございます。 – Aladdin
@Aladdinよろしくお願いします! – ouah