Я работаю в Linux, и у меня есть библиотека, написанная на Fortran 90 (написанная третьей стороной), которая читается из файла в текущем рабочем каталоге. Я хотел бы иметь возможность вызвать полученную библиотеку из других папок, поэтому мне нужно прочитать путь, в котором установлена библиотека. Как узнать путь к скомпилированной библиотеке в коде Fortran?Как получить путь, где установлена библиотека
Мне нужно сохранить в переменной путь в коде.
Ибо кто знает питон, я хочу, чтобы достичь такой же, как
import os
os.path.dirname(os.path.abspath(__file__))
но в F90 (см Get location of the .py source file)
Используя предложения в комментарии я сделал следующее:
export DATAPATH=`pwd`
make
в Makefile
ifort -O3 -fpic -fpp -DDATAPATH -c mysource.f90
в mysource.f90
subroutine mysub
character(len=100)::dpath
#ifdef DATAPATH
dpath=DATAPATH
#endif
open(10,file=trim(dpath)//'initialise.dat')
....
....
проблема в том, что во время компиляции я получаю
mysource.f90(42): error #6054: A CHARACTER data type is required in this context. [1]
dpath=1
----------^
compilation aborted for mysource.f90 (code 1)
Я вообще не понимаю. Вы спрашиваете, где исходный код для вашей библиотеки на вашем жестком диске? –
да, я добавил строку к вопросу, в надежде быть более ясным. – simona
Инициализационный файл находится в том же пути исходного кода (это тот же путь, что и скомпилированная библиотека). библиотека должна знать путь к исходному коду, чтобы он мог найти файл инициализации – simona