2012-02-05 6 views
0

私は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です。これらは標準ライブラリなので、どのような違いがこのエラーを引き起こすのか分かりません。どんな助けもありがとうございます。

ありがとうございます。

答えて

1

LDFLAGS変数を-lrt -lmとし、の後に$(LDFLAGS)と入力してください。

+0

クイックフィックスをお寄せいただきありがとうございます。 – Aladdin

+0

@Aladdinよろしくお願いします! – ouah

0

$(CFLAGS)を入力してください。時にはそれが役に立ちます。

関連する問題