対象者
タイトルの通り、このエラーで苦しんでいる方へ。
ぼくはfortranをpythonモジュールとして呼び出すためのf2py
(今はnumpyに統合されています)を用いたときに言われて凄まじく苦労しました。
環境としてはMacOS10.15 Catalinaです。
それ以下のバージョンの方はもう情報がたくさん出てるので割愛します(コマンドラインツールを公式ページからダウンロードしてアンパックすればOKのはず)。
結論
ただの覚書ですので初っ端から結論。
以下のコマンドをターミナルで実行しましょう。
$ sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/* /usr/local/include/
これで/usr/local/include/
にXcodeのヘッダへのシンボリックリンクを貼ることができます。
あとは例えば
$ python3 -m numpy.f2py -c hello.f90 -m hello
などとすればhello.cpython-38-darwin.so
などと言う名前のファイルができるでしょうから、
$ python3 f2.py
Hello from Fortran!
a= 4
とすれば動くでしょう。
使用したコード
f2.py
import hello
hello.foo(4)
hello.f90
subroutine foo(a)
integer :: a
write(*,*) "Hello from Fortran!" !ここで文字を出力
write(*,*) "a=",a !ここで整数を出力
end subroutine foo