いくつかのFortranモジュール/サブルーチンを共有ライブラリにリンクする際に問題があります。Fortranで複数のソースファイルから1つのライブラリにリンクする共有オブジェクト
まず、スタンドアロンのFortranプログラムがありました。すべてがうまくいっています。これは
main.f95
mymodule.f95
myutils.f95
から構成さしかし、私はそうR.
からのFortranコードを呼び出すことができるようになりました私は物事を適応しています、私は、メインプログラムmain.f95を破棄し、私は新しいファイルを持っている、のは言わせてこのルーチンは、モジュールmymodule
を使用しなければならないR.から呼び出されるサブルーチンが含まれており、このモジュールはmyutils
に依存してい
callFromR.f95
。 私は共有オブジェクトとしてそれらのすべての3つをコンパイルします。
gfortran -shared -fPIC callFromR.f95 -o callFromR.so
gfortran -shared -fPIC mymodule.f95 -o mymodule.so
gfortran -shared -fPIC myutils.f95 -o myutils.so
今、私は何とか共有オブジェクトファイル(いないオブジェクトファイル)でそれらのすべての3つを組み合わせる必要があります。これどうやってするの?
(私はRでcallFromR
サブルーチンを呼び出すときにその結果、mymodule
コードの中に配置されているいくつかのサブルーチンが見つかりません。)
それは、それらが見つからないという意味ですか? 3つの.soファイル、または1つだけをインポートしますか? –