Недопустимая директива препроцессора и символ, указанный в (1), не найдены в модуле - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь скомпилировать код 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’

1 Ответ

0 голосов
/ 26 апреля 2018

Сообщения об ошибках и предупреждения, такие как

Warning: qevars.f90:30: Illegal preprocessor directive

, обычно обрабатываются кодом Fortran, содержащим директивы препроцессора, но не обрабатываются препроцессором заранее.В gfortran используйте -cpp, чтобы включить препроцессор, или используйте расширения файлов с большой буквы F (.F, .F90).

Отсутствие предварительной обработки может привести к появлению многих следующих ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...