在 (1) 处引用的非法预处理器指令和符号未在模块中找到
Illegal preprocessor directive and Symbol referenced at (1) not found in module
我正在尝试使用其他一些软件包编译 Quantum ESPRESSO 代码。在玩弄 Makefile 并稍微编译标志后,我 "obtained" 出现如下错误。有什么办法可以解决这个问题吗?我是否缺少任何标志以避免错误?还是来自代码本身?
$ 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
).
缺少预处理会导致报告许多以下错误。
我正在尝试使用其他一些软件包编译 Quantum ESPRESSO 代码。在玩弄 Makefile 并稍微编译标志后,我 "obtained" 出现如下错误。有什么办法可以解决这个问题吗?我是否缺少任何标志以避免错误?还是来自代码本身?
$ 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
).
缺少预处理会导致报告许多以下错误。