2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

pythonで"fatal error: 'stdio.h' file not found"とか言われたときの対処

Last updated at Posted at 2020-05-31

対象者

タイトルの通り、このエラーで苦しんでいる方へ。
ぼくは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
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?