JNI を使用して既存の COBOL アプリケーションを呼び出そうとしています。COBOL アプリケーションの構造は次のとおりです。
c-wrapper(main)-->COBOLProgram -> several dyn(.so) and static called modules
既存の COBOL アプリケーションには、いくつかの静的に呼び出されるサブプログラム (COBOL) と多くの動的 (COBOL) のサブプログラムが含まれます。
アプリケーションの JNI 呼び出しは正常ですが、COBOL 動的サブモジュールを見つけて呼び出すことができませんでした。
変更されたアプリケーション構造 (jni の場合) は次のとおりです。
java class --> libjni.so --> appl.so
CALL の前に COB_LIBRARY_PATH と LD_LIBRARY_PATH 環境変数を確認しましたが、問題ないようです。
動的モジュールの場合、次のエラー メッセージが表示されます。
libcob: ....<module>.so: undefined symbol: cob_save_call_params
Linuxで64ビット、1.1.0を使用しています。gcc は、cobc コマンドの c 出力を使用してバイナリを作成するために使用されます。