2016-06-24 48 views
-1

プログラム用のmakefileを作成しようとしていますが、これはC++で書かれており、fortranで書かれたルーチンを使用しています。私はこのように私のメイクファイルを書いている:私はそれを使用しようとしているときMakefileのレシピが失敗しました

# 
OBJ = main.o graph.o 
LAPACK= lapack/dstevx.o lapack/lsame.o lapack/xerbla.o lapack/dlamch.o lapack/disnan.o \ 
     lapack/dlae2.o lapack/dlaebz.o lapack/dlaev2.o lapack/dlagtf.o lapack/dlagts.o 
BLAS = blas/dscal.o blas/dswap.o blas/dcopy.o 
DEPS = graph.h 
# 
FC  = c:/MinGW/bin/gfortran 
FCFLAGS = -c -O2 
LD  = c:/MinGW/bin/gfortran 
FC  = gfortran 
GC  = g++.exe 
LD  = gfortran 
CFLAGS = -I. 
CXXFLAGS= -g -std=c++11 -Wall -pedantic -Wno-write-string 
# 
# clear list of default suffixes, and declare default suffixes 
.SUFFIXES: 
.SUFFIXES: .f .f90 .c .o .cpp .h 
# default rule to make .o files from .f files 
.f.o : ;  $(FC) $(FCFLAGS) $*.f -o $*.o 
.f90.o : ;  $(FC) $(FCFLAGS) $*.f90 -o $*.o 
.c.o : ;  $(GC) $(CXXFLAGS) $*.c -c $*.o 
.cpp.o : ;  $(GC) $(CXXCFLAGS) $*.cpp -c $*.o 
# 
graph.exe: ${OBJ} $(BLAS) $(LAPACK) 
    $(GC) $(CXXCFLAGS) $(BLAS) $(LAPACK) ${OBJ} -o graph.exe 
# 
clean : 
    rm.exe -f *.mod ${BLAS} ${LAPACK} ${OBJ} ${LIB} *.exe core 

しかし、私はrecipe for graph.o failedなエラーになっています。あなたはこの問題を解決するために私を助けてくれますか?私が見ることができる

+3

をコンパイルしようとするということですその前に出力の最後の数行で、少なくとも。 「レシピが失敗しました」以上のことは何もできません。 – MadScientist

答えて

0

一つの問題は、方法は、このコマンドは

$(GC) $(CXXFLAGS) $*.c -c $*.o 

を書かれて、それはあなたが常にあなたが仲良く完全、正確なエラーメッセージをカット&ペーストする必要があり、ファイルgraph.o

関連する問題