找回密码
 注册
Simdroid-非首页
查看: 153|回复: 3

[3. Fortran] 请教:初用makefile遇到的问题。谢谢!

[复制链接]
发表于 2005-7-8 02:18:46 | 显示全部楼层 |阅读模式 来自 美国
============这是我写的makefile==================
#*****compiler > intel
ARCH   = INTEL
FC     = ifort
LINK   = -o
FFLAGS =  -O0 -g
# MACH   = amach.o
#*****END compiler > intel

OBJS = driv.o premix.o cklib.o tranlib.o twopnt.o cputim.o math.o
INPS = therm.dat tran.dat chem.inp premix.inp
OUTS = chem.bin chem.out tran.bin tran.out premix.out save.bin recov.bin
EXES = chem.exe tran.exe premix.exe

chem.exe : ckinterp.o
   ${FC} ${FFLAGS} -o chem.exe ckinterp.o

tran.exe : tranfit.o cklib.o math.o
   ${FC} ${FFLAGS} -o tran.exe tranfit.o cklib.o math.o

premix.exe :
   ${FC} ${FFLAGS} -o premix.exe
============================================

=======我遇到的问题==============
1. 第一步:(没有问题)
   make chem.exe
2. 第二步:(出现问题)
   make tran.exe
   ifort -O0 -g   -c -o tranfit.o tranfit.f
   ifort -O0 -g   -c -o cklib.o cklib.f
   ifort -O0 -g   -c -o math.o math.f
   ifort -O0 -g  -o tran.exe tranfit.o cklib.o math.o
   math.o(.text+0x10e7f): In function `xerprn':
   /home/code/math.f:4645: undefined reference to`i1mach_'
   math.o(.text+0x11ae6): In function `xersve':
   /home/code/math.f:4864: undefined reference to`i1mach_'
   make: *** [tran.exe] Error 1
========================================

请教各位老师:这是什么问题?我应该怎样解决?

谢谢
 楼主| 发表于 2005-7-8 02:25:25 | 显示全部楼层 来自 美国

Re:请教:初用makefile遇到的问题。谢谢!

Simdroid开发平台
=====原程序的makefile是这样的==========

#*****compiler > sun, sgi
FFLAGS = -static -O2
LINK = f77 -o
MACH = dmach.o
#*****END compiler > sun, sgi

OBJS = driv.o premix.o cklib.o tranlib.o twopnt.o cputim.o        math.o
INPS = therm.dat tran.dat chem.inp premix.inp
OUTS = chem.bin chem.out tran.bin tran.out premix.out save.bin recov.bin
EXES = chem.exe tran.exe premix.exe

chem.exe : ckinterp.o
      chem.exe ckinterp.o

tran.exe : tranfit.o cklib.o math.o
       tran.exe tranfit.o cklib.o math.o

premix.exe :
      premix.exe
==============================

我想机器不同,所以就做了修改。会是因为这个导致的问题吗?

还有,我得到的原程序好几个 *.f 文件里面的最后一行(END的下一行)都有一
^Z,我觉得会引起错误,就把它删掉了。我应该删掉吗?还是这个^Z有什么讲究?

再次感谢
发表于 2005-7-9 11:22:10 | 显示全部楼层 来自 黑龙江哈尔滨

Re:请教:初用makefile遇到的问题。谢谢!

/home/code/math.f:4864: undefined reference to`i1mach_'

math.f 中 "i1mach" 的使用有问题吧, 检查一下源程序。

^Z 是windows和unix类操作系统对于文本的处理不同。删掉没关系。
 楼主| 发表于 2005-7-13 00:53:07 | 显示全部楼层 来自 美国

Re:请教:初用makefile遇到的问题。谢谢!

谢谢版主

我看了math.f ,找了找I1MACH出现的地方,但是看不太懂会是什么问题。

I1MACH出现在math.f文件中的subroutine XERPRN中,出现的顺序如下:

先说明:
C**  ROUTINES CALLED I1MACH,XGETUA
C**  I1MACH(4) RETRIEVES THE STANDARD ERROR MESSAGE UNIT
再使用(在这个使用之前并没有call过I1MACH):
N=I1MACH(4)

会是这个问题吗?没有call过就用出现的问题?

谢谢指教:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-11-2 01:37 , Processed in 0.029099 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表