2009-06-21 60 views
4

我試圖將程序從gfortran移植到ifort(Intel Fortran編譯器11)。我堅持兩個文件只與gfortran編譯:從gfortran移植到ifort時編譯錯誤

gfortran -x f77 -c daedrid.ff 
gfortran -x f77-cpp-input -c daedris.ff 

當我嘗試使用這些文件運行英特爾Fortran編譯器,我得到:

ifort -fpp -c daedrid.ff 
ifort: warning #10147: no action performed for specified file(s) 
ifort -fpp -c daedris.ff 
ifort: warning #10147: no action performed for specified file(s) 

並沒有對象文件被創建。

現在,我該如何解決這個問題o_O?

編輯:重命名的文件擴展名從FF到FPP

cp daedrid.ff daedrid.fpp 
cp daedrid.ff daedrid.fpp 

幫助:

ifort -fpp -c daedrid.fpp 
daedrid.fpp(1483): (col. 9) remark: LOOP WAS VECTORIZED. 
daedrid.fpp(1490): (col. 11) remark: LOOP WAS VECTORIZED. 
daedrid.fpp(1499): (col. 13) remark: LOOP WAS VECTORIZED. 
ifort -fpp -c daedris.fpp 
daedris.fpp(1626): (col. 9) remark: LOOP WAS VECTORIZED. 

http://www.rcac.purdue.edu/userinfo/resources/black/userguide.cfm#compile_fortran_cpp

UPDATE:有沒有一種方法,使英特爾Fortran編譯器工作,而不必重命名文件?

回答

5

你要找的選項-Tf-fpp(和可選-fixed-freeifort -help,相關的線路有:。

-Tf<file>  compile file as Fortran source 

-fpp[n] run Fortran preprocessor on source files prior to compilation 
    n=0 disable running the preprocessor, equivalent to no fpp 
    n=1,2,3 run preprocessor 

-[no]fixed,-FI specifies source files are in fixed format 
-[no]free, -FR specifies source files are in free format 

所以,一切的一切,如果你有固定格式源代碼這就需要預處理,你可以使用:

ifort -fpp -fixed -Tfa.ff 

編譯文件a.ff

相關問題