Я сделал небольшой обходной путь, пытаясь заставить процессор makefile найти зависимости.
(Проверено на Eclipse для разработчиков параллельных приложений. Версия: выпуск Juno. Идентификатор сборки: 20120614-1722)
- Установить модуль и включить пути (эта цифра цитируется)
Если ваш исходный код содержит строки INCLUDE или USE, ссылающиеся на
модули в других файлах, Photran нужно знать, где искать в порядке
чтобы найти это. Это не понять это автоматически. Для каждого
проект, в котором вы планируете использовать поддержку рефакторинга,
- Щелкните правой кнопкой мыши папку вашего проекта в представлении Fortran Projects
- Нажмите на Свойства
- Разверните Fortran General в списке слева и нажмите Анализ / Рефакторинг
- Список папок, в которых находится фотран
следует искать ВКЛЮЧИТЬ файлы и модули при рефакторинге. Они будут найдены по порядку от первой папки в списке до последней. Подпапки не будут найдены автоматически; Вы должны включить их явно.
- Нажмите ОК
. 2. В eclipse IDE щелкните правой кнопкой мыши в папке вашего проекта, затем -> refactor-> subprogram-> ввод дерева вызовов. Он должен показать вам все зависимости в ваших модулях.
Вы должны быть осторожны с порядком своих модулей:
с модулем
module constants
implicit none
real, parameter :: PI=3.14
real, parameter :: E=2.71828183
integer, parameter :: answer=42
real, parameter :: earthRadiusInMeters=6.38e6
end module constants
module constants2
implicit none
real, parameter :: PI2=3.14
real, parameter :: E2=2.71828183
integer, parameter :: answer2=42
real, parameter :: earthRadiusInMeters2=6.38e6
end module constants2
он будет работать с (Код изменен с здесь )
program test
! Option #1: blanket "use constants"
! use constants
! Option #2: Specify EACH variable you wish to use.
use constants, only : PI,E,answer,earthRadiusInMeters
use constants2, only : PI2,E2,answer2,earthRadiusInMeters2
implicit none
write(6,*) "Hello world. Here are some constants:"
write(6,*) PI, E, answer, earthRadiusInMeters
write(6,*) PI2, E2, answer2, earthRadiusInMeters2
end program test
но если вы поменяете
use constants, only : PI,E,answer,earthRadiusInMeters
use constants2, only : PI2,E2,answer2,earthRadiusInMeters2
implicit none
для этого
use constants2, only : PI2,E2,answer2,earthRadiusInMeters2
use constants, only : PI,E,answer,earthRadiusInMeters
implicit none
Вы получите ту же ошибку.
Для более крупной программы я использовал ручную опцию makefile . Но для отладки я использовал отладчик Intel idb , потому что в том же make-файле отладчик Photran не устанавливал точки останова.
Удачи приятель.