Compiler errors 在模块中找不到(1)处引用的非法预处理器指令和符号

Compiler errors 在模块中找不到(1)处引用的非法预处理器指令和符号,compiler-errors,fortran,gfortran,Compiler Errors,Fortran,Gfortran,我正试图用其他一些软件包编译一个Quantum ESPRESSO代码。在使用Makefile并编译了一些标志之后,我“获得”了一个错误,如下所示。有没有办法绕过这个问题?我是否缺少任何标志以避免错误?还是来自代码本身 $ mpif90 -fdollar-ok -ffree-line-length-none -O3 -fopenmp -fPIC -I ../../../qe/6.0-mpi/Modules -I ../src -I ../src ../../../qe/6.0-mpi/PW/src

我正试图用其他一些软件包编译一个Quantum ESPRESSO代码。在使用Makefile并编译了一些标志之后,我“获得”了一个错误,如下所示。有没有办法绕过这个问题?我是否缺少任何标志以避免错误?还是来自代码本身

$ mpif90 -fdollar-ok -ffree-line-length-none -O3 -fopenmp -fPIC -I ../../../qe/6.0-mpi/Modules -I ../src -I ../src ../../../qe/6.0-mpi/PW/src/libpw.a ../../../qe/6.0-mpi/Modules/libqemod.a ../../../qe/6.0-mpi/FFTXlib/libqefft.a ../../../qe/6.0-mpi/LAXlib/libqela.a -Wall -c qevars.f90 
Warning: qevars.f90:30: Illegal preprocessor directive
Warning: qevars.f90:32: Illegal preprocessor directive
Warning: qevars.f90:34: Illegal preprocessor directive
Warning: qevars.f90:56: Illegal preprocessor directive
Warning: qevars.f90:58: Illegal preprocessor directive
Warning: qevars.f90:60: Illegal preprocessor directive
Warning: qevars.f90:68: Illegal preprocessor directive
Warning: qevars.f90:70: Illegal preprocessor directive
Warning: qevars.f90:72: Illegal preprocessor directive
Warning: qevars.f90:74: Illegal preprocessor directive
Warning: qevars.f90:75: Illegal preprocessor directive
Warning: qevars.f90:77: Illegal preprocessor directive
qevars.f90:33:43:

     use io_files,   ONLY : nd_nmbr, prefix, outdir, tmp_dir, nwordwfc, iunwfc
                                           1
Error: Symbol ‘outdir’ referenced at (1) not found in module ‘io_files’
qevars.f90:73:43:

     use wvfct,      ONLY : npw, npwx, nbnd, igk, g2kin, wg, et, ecutwfc
                                           1
Error: Symbol ‘igk’ referenced at (1) not found in module ‘wvfct’
qevars.f90:73:63:

     use wvfct,      ONLY : npw, npwx, nbnd, igk, g2kin, wg, et, ecutwfc
                                                               1
Error: Symbol ‘ecutwfc’ referenced at (1) not found in module ‘wvfct’
qevars.f90:71:43:

     use wvfct,      ONLY : npw, npwx, nbnd, igk, g2kin, wg, et
                                           1
Error: Symbol ‘igk’ referenced at (1) not found in module ‘wvfct’

错误消息和警告,如

Warning: qevars.f90:30: Illegal preprocessor directive
通常由包含预处理器指令但未经预处理器预处理的Fortran代码进行大小写。在gfortran中,使用
-cpp
启用预处理器,或使用大写为F的文件扩展名(
.F
.F90


缺少预处理可能会导致报告以下许多错误。

请对所有Fortran问题使用tag。更多的人会看到你的问题。标记非常重要。我们缺少您的代码。代码是必需的。请参阅和。看起来您需要
-cpp
标志。这只是猜测,因为我看不到代码。@VladimirF非常感谢你的回答<代码>-cpp确实是我需要的标志!