Fortran 板


LINE

我拿到一份写好的档案要试跑 理论上应该执行就好了 不过我怎麽试 make 或 gfortran 都没有 output file 产生 请问问题可能出在哪里 还是我该用别的指令? (资料在 cabbagel.F 主程式会呼叫一个叫做 parfit的资料夹里面的档案 结果应该要产生成一个档案 我在Ubuntu 下打 make 或 make cabbagel 或 改成gfortran ,会跑但都没有产生) __下面是主程式的makefile__ # Makefile for PARFITS # version including handling of implicit switches MAKE = make FC = gfortran TRAJEC = traj.o BLASM = ./parfits/blasm/blas.o \ ./parfits/blasm/mutil.o \ ./parfits/blasm/dgesvd1.o INTEGR1 = ./parfits/integr/metanb.o # INTEGR2 = ./parfits/integr/difsys.o (not available) PARFITS = ./parfits/parfits.o \ ./parfits/monitn.o \ ./parfits/initju.o \ ./parfits/hcut.o \ ./parfits/inscal.o \ ./parfits/rankr.o \ ./parfits/evalc.o \ ./parfits/ssai.o \ ./parfits/chscal.o \ ./parfits/calcom.o \ ./parfits/ind.o \ ./parfits/intj.o \ ./parfits/idcon.o \ ./parfits/qdiff.o \ ./parfits/hdiff.o \ ./parfits/update.o \ ./parfits/fd.o \ ./parfits/yallfunc.o \ ./parfits/upmult.o \ ./parfits/exit.o INCREM = ./parfits/increm/increm4.o \ ./parfits/increm/inc4_l2.o \ ./parfits/increm/inc4_l1.o \ ./parfits/increm/inc4_l3.o \ ./parfits/increm/dec4_l2.o \ ./parfits/increm/sol_l2.o \ ./parfits/increm/sol_l1.o \ ./parfits/increm/sol_l3.o \ ./parfits/increm/dminv_l1.o \ ./parfits/increm/qpsol.o \ ./parfits/increm/lpckk.o \ ./parfits/increm/qpckk.o \ ./parfits/increm/qpckk1.o \ ./parfits/increm/qpckk2.o \ ./parfits/increm/crj.o COV = ./parfits/cov/cov.o \ ./parfits/cov/cov4.o \ ./parfits/cov/covtot.o PRINT = ./parfits/print/print.o \ ./parfits/print/prtmain.o \ ./parfits/print/prthead.o \ ./parfits/print/prtit.o \ ./parfits/print/prtmatrix.o \ ./parfits/print/prtmatrixlp.o \ ./parfits/print/prtmatrixhp.o \ ./parfits/print/prtmatrixint.o PYMETS = pymets.o PYMET2S = pymet2s.o CABBAGEL = cabbagel.o CABBAGEQ = cabbageq.o CABBAGELLL = cabbagelll.o CABBAGEQQQ = cabbageqqq.o PYMETDS = $(PYMETS) $(PARFITS) $(INCREM) $(COV) $(INTEGR1) $(BLASM) $(PRINT) $(TRAJEC) PYMET2DS = $(PYMET2S) $(PARFITS) $(INCREM) $(COV) $(INTEGR1) $(BLASM) $(PRINT) $(TRAJEC) CABBAGDL = $(CABBAGEL) $(PARFITS) $(INCREM) $(COV) $(INTEGR1) $(BLASM) $(PRINT) $(TRAJEC) CABBAGDQ = $(CABBAGEQ) $(PARFITS) $(INCREM) $(COV) $(INTEGR1) $(BLASM) $(PRINT) $(TRAJEC) CABBAGDLLL = $(CABBAGELLL) $(PARFITS) $(INCREM) $(COV) $(INTEGR1) $(BLASM) $(PRINT) $(TRAJEC) CABBAGDQQQ = $(CABBAGEQQQ) $(PARFITS) $(INCREM) $(COV) $(INTEGR1) $(BLASM) $(PRINT) $(TRAJEC) FFLAGS = -c -g -Wall CCFLAGS = -c -g -Wall #LDFLAGS = -Wall all: pymets pymet2s \ cabbagel cabbageq \ cabbagelll cabbageqqq pymets: lkmaxdim mkparfits $(PYMETDS) -@$(FC) $(PYMETDS) $(LDFLAGS) -o $@ pymet2s: lkmaxdim mkparfits $(PYMET2DS) -@$(FC) $(PYMET2DS) $(LDFLAGS) -o $@ cabbagel: lkmaxdim mkparfits $(CABBAGDL) -@$(FC) $(CABBAGDL) $(LDFLAGS) -o $@ cabbageq: lkmaxdim mkparfits $(CABBAGDQ) -@$(FC) $(CABBAGDQ) $(LDFLAGS) -o $@ cabbagelll: lkmaxdim mkparfits $(CABBAGDLLL) -@$(FC) $(CABBAGDLLL) $(LDFLAGS) -o $@ cabbageqqq: lkmaxdim mkparfits $(CABBAGDQQQ) -@$(FC) $(CABBAGDQQQ) $(LDFLAGS) -o $@ mkparfits: -@cd parfits;$(MAKE) parfit lkmaxdim: -@echo "Link auf maxdim wird gesetzt." -@rm maxdim.f -f ln -s ./parfits/maxdim.f maxdim.f clean: $(MAKE) clean -C ./parfits rm maxdim.f -f rm *.o -f rm fort.* -f rm pymets.f -f rm pymet2s.f -f rm cabbagel.f -f rm cabbageq.f -f rm cabbagelll.f -f rm cabbageqqq.f -f rm delays.f -f rm traj.f -f rm pymets -f rm pymet2s -f rm cabbagel -f rm cabbageq -f rm cabbagelll -f rm cabbageqqq -f # Following lines provide automatic invocation of the # C preprocessor cpp for FORTRAN files with suffix .F # (Default on most UNIX platforms, but not on IBM's) # define preprocessor CPP = /lib/cpp # compiler option for preprocessor CPFLAGS = -P .SUFFIXES: .F .F.o: -@$(CPP) $(CPFLAGS) $< $*.f $(FC) $(FFLAGS) $*.f -@rm -f $*.f .f.o: -@$(FC) $(FFLAGS) $*.f .c.o: $(CC) $(CCFLAGS) $*.c --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 78.104.103.87
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Fortran/M.1524727815.A.0C9.html
1F:→ blc: 好像没有用来执行程式的target? 04/26 17:31
程式本身有缺吗?
2F:→ Cypresslin: 有错误讯息吗? 04/27 00:33
这个程式有点麻烦的是,他是我的指导教授三十年前发表论文写的 後来他都没有亲手改过,最後一个版本是十年前的学长动的 所以他看不懂 学长也早已毕业 实验室大家在用的是Matlab, R, Python跟Java 很希望有版大可以告诉我问题在哪边 目前是看得懂fortran程式想做些甚麽 但没到可以写的程度 (有Matlab跟R的经验,学过初浅的C++)
3F:→ Cypresslin: make[1]: /lib/cpp: Command not found 缺cpp预处理器 04/27 10:37
4F:→ Cypresslin: 先装个cpp再重跑make看看吧 04/27 10:43
抱歉昨天电脑不在身边 所以用朋友的Window没注意到 刚刚用我的电脑跑 用了make之後 会正常产生需要的 *.o 的资料 不过我期待他会在某个的地方产生output 但是一直都没找到 ___这是执行make後(獢颤是桌面 在复制 储存 後的乱码 执行时没问题)___ user@user-Aspire-S5-371:~/獢颤/try$ make ln -s ./parfits/maxdim.f maxdim.f make[1]: Entering directory '/home/user/獢颤/try/parfits' make[2]: Entering directory '/home/user/獢颤/try/parfits/print' Building PRINT Objects make[2]: Leaving directory '/home/user/獢颤/try/parfits/print' make[2]: Entering directory '/home/user/獢颤/try/parfits/blasm' Building BLAS and MUTIL Objects make[2]: Leaving directory '/home/user/獢颤/try/parfits/blasm' make[2]: Entering directory '/home/user/獢颤/try/parfits/cov' Building COV Objects make[2]: Leaving directory '/home/user/獢颤/try/parfits/cov' make[2]: Entering directory '/home/user/獢颤/try/parfits/increm' Building INCREM Objects make[2]: Leaving directory '/home/user/獢颤/try/parfits/increm' make[2]: Entering directory '/home/user/獢颤/try/parfits/integr' Building INTEGR Objects make[2]: Leaving directory '/home/user/獢颤/try/parfits/integr' Building PARFITS make[1]: Leaving directory '/home/user/獢颤/try/parfits' ___make结束後的档案___ user@user-Aspire-S5-371:~/獢颤/try$ ls cabbagel cabbagel.o cabbageqqq.F parameters pymets traj.F cabbagel.F cabbageq cabbageqqq.o parfits pymets.F traj.o cabbagelll cabbageq.F fort.13 pymet2s pymets.F_orig cabbagelll.F cabbageq.o makefile pymet2s.F pymets.F-with cabbagelll.o cabbageqqq maxdim.f pymet2s.o pymets.o user@user-Aspire-S5-371:~/獢颤/try$ ※ 编辑: adu (78.104.103.87), 04/27/2018 15:40:17
5F:→ blc: 这个makefile只有做编译而已,要自己手动执行编好的程式 04/27 20:24
6F:→ adu: 请问手动执行的意思是? 04/27 21:19
7F:→ rex0707: 要自己开启执行档来执行程式的意思吧 执行执行档之後才会 04/27 23:43
8F:→ rex0707: 产生output file 04/27 23:43
9F:→ rex0707: cabbagel, cabbageq, pymet2s, pymets都是.exe? .out? 04/27 23:44
10F:→ adu: 他们都是没有附档名的档案 用editor开都是乱码 04/28 02:07
自己开启执行档是这个意思吗? user@user-Aspire-S5-371:~/PARFIT-EKATERINA$ gfortran -o cabbagel cabbagel.F /tmp/ccylm1aX.o: 於函式 MAIN__: cabbagel.F:(.text+0x13b): 未定义参考到「dcopy_」 cabbagel.F:(.text+0x2e7): 未定义参考到「metanb_」 cabbagel.F:(.text+0x30b): 未定义参考到「parfit_」 cabbagel.F:(.text+0x36d): 未定义参考到「metanb_」 cabbagel.F:(.text+0x3a8): 未定义参考到「traj_」 collect2: error: ld returned 1 exit status ※ 编辑: adu (78.104.103.87), 04/28/2018 02:40:49
11F:→ rex0707: 欧欧看到你是用ubuntu 执行档案就打./cabbagel就可以了吧 04/28 13:31
对 有output了! 我看看要怎麽把新的资料改进去 谢谢rex0707, blc跟 Cypresslin :D ※ 编辑: adu (78.104.26.192), 04/28/2018 16:41:32







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP