Вам нужно сначала скомпилировать части программы, не связывая их, а затем связать их все вместе.Таким образом, ваша командная строка будет выглядеть так:
ifort /c s1.for
ifort /c s2.for
ifort /c s3.for
ifort /c central.for
, где /c
- это сокращение от /compile-only
;/nolink
также будет работать.Это создаст файлы s1.o, s2.o, s3.o и central.o соответственно.Вышеперечисленное можно сделать в любом порядке.Теперь отдельные части связаны друг с другом, и вы сделаете что-то вроде
ifort /exe:central.exe central.o s1.o s2.o s3.o
для сборки исполняемого файла.
Обратите внимание, что это усложняет процесс на один шаг, если вы компилируете современный фортранкод, который использует модули, и (например) основная программа в central.for имеет строку типа use s2
.В этом случае вы должны скомпилировать (даже с /c
) s2 перед центральным;когда вы компилируете s2, в этом случае вы получите дополнительный выходной файл s2.mod.Этот файл s2.mod необходим для компиляции central.for.Но, учитывая расширения имени файла, скорее всего, это старый код, и модули, вероятно, не являются проблемой.