注册 登录
编程论坛 C++ Builder

make No rule to make target `defprec.o)'

green_tea789 发布于 2012-11-05 23:02, 1488 次点击
1)用debug模式 make -d -p 输出出错的地方为:
Considering target file `defprec.o)'.
   File `defprec.o)' does not exist.
Looking for an implicit rule for `defprec.o)'.
2)在别人的机子上编译成功,相应的为
Considering target file `../../../lib/libioipsl.a(defprec.o)'.
   File `../../../lib/libioipsl.a(defprec.o)' does not exist.
   Looking for an implicit rule for `../../../lib/libioipsl.a(defprec.o)'.
3)在Makefile里相关的部分为
$(MODEL_LIB)(%.o): %.f90
    $(F_C) $(F_O) -I$(NCDF_INC) $*.f90
其中
MODEL_LIB = ../../../lib/libioipsl.a
F_C = gfortran -c
F_O = $(w_w) -I $(MODDIR)
w_w = -O3 -fdefault-real-8 -DNC_DOUBLE $(F_P) -I$(MODDIR)
MODDIR = $(LIBDIR)
LIBDIR = ../../../lib
这里-I $(MODDIR)有重复,不知道是不是这个原因。
2 回复
#2
green_tea7892012-11-06 17:11
问题找到了,我的make不认all: $(MODEL_LIB)($(OBJSMODS1))里MODS1 有多个变量。MODS1 = defprec.f90过了, MODS1 = defprec.f90 errioipsl.f90就不行。
#3
yuccn2012-11-18 15:05
^_^
1