私はPythonでいくつかのsmpsファイルを読み込もうとしていて、Fortranの実装を見つけたので、f2pyを試してみようと思いました。問題は、私がFortranの経験がないことです。
Linuxボックスにgfortranとf2pyを正常にインストールし、w f2pyページで例を実行しましたが、大きなプログラムのコンパイルと実行に問題があります。2つのファイルがあります。1つはファイルリーダーラッパーを含み、もう1つはすべてのロジックを含みます。彼らはお互いを呼んでいるようですが、コンパイルしてリンクしたり、f2pyを試したりすると、どういうわけかお互いを見つけることができないというエラーが発生します。
f95 -c FILEWR~1.F
f95 -c SMPSREAD.F90
f95 -o smpsread SMPSREAD.o FILEWR~1.o
FILEWR~1.o In function `file_wrapper_'
FILEWR~1.F(.text+0x3d) undefined reference to `chopen_'
usrlibgcci486-linux-gnu4.4.1libgfortranbegin.a(fmain.o) In function `main'
(.text+0x27) undefined reference to `MAIN__'
collect2 ld returned 1 exit status
また、名前をFILE_WRAPPER.Fに変更しようとしましたが、それは役に立ちませんでした。
f2pyを使用して、フリーフォーマットを受け入れるためにコメントを含める必要があることを知り、これを新しいファイルとして保存して試してみました。
f2py -c -m smpsread smpsread.f90
たくさんの出力と警告が表示されますが、エラーは次のようです。
getctype: No C-type found in "{'typespec': 'type', 'attrspec': ['allocatable'], 'typename': 'node', 'dimension': [':']}", assuming void.
ヘルプや提案をいただければ幸いです。