Получение ошибки компоновщика GCC: входной файл компоновщика не используется, поскольку компоновка не выполнена - PullRequest
0 голосов
/ 05 февраля 2012

Я начинающий, когда дело доходит до написания make-файлов, но у меня возникла проблема с связью с моей программой. В основном я получаю вышеуказанную ошибку, когда пытаюсь собрать ее на удаленной машине. Вот мой make-файл:

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. Я не знаю, какие различия могут вызвать эту ошибку, так как это стандартные библиотеки. Любая помощь приветствуется.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 05 февраля 2012

Попробуйте использовать переменную LDFLAGS с -lrt -lm и поставить $(LDFLAGS) после $(OBJS).

0 голосов
/ 05 февраля 2012

Попробуйте поставить $(CFLAGS) в конце строки.Иногда это помогает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...