0
所以我可以編譯我的代碼(fftw_ex.c)直接:Makefile for fftw3?
login$ gcc -o -g fftw_ex fftw_ex.c -I$TACC_FFTW3_INC -L$TACC_FFTW3_LIB -lfftw3
然而,我的教授更是我們使用的Makefile。我只是在學習如何使用Makefile,並且在創建Makefile時遇到了麻煩。到目前爲止,這是我所:
# RULES
EXEC := fftw_ex
SRC := $(wildcard *.c)
OBJ := $(patsubst %.c,%.o,%(SRC))
# OPERATIONS
CC := gcc
CFLAGS := -O3 -I$TACC_FFTW3_INC
LDFLAGS := -L$TACC_FFTW3_LIB
LDLIBS := -lfftw3
$(EXEC): $(OBJ)
$(CC) $(LDFLAGS) $(LDLIBS) -o -g [email protected] $^
%.o: %.c
$(CC) $(CFLAGS) -c $<
# PHONY TARGETS
.PHONY: clean
clean:
@echo Cleaning...;rm -rf *.o fftw_ex
我知道有與SRC線路有問題,因爲我得到的錯誤信息:
make: *** No rule to make target `%(SRC)', needed by `fftw_ex'. Stop.
任何幫助來得到這個工作會不勝感激。
謝謝,現在大多是固定的。雖然現在我收到一條錯誤消息,說明找不到-lfftw3。但它直接編譯好就好了。 –