2016-08-03 12 views
0

共有ライブラリの作成方法については、これらの手順(http://jonisalonen.com/2012/calling-c-from-java-is-easy/)に従っていますが、これらの手順では1つのファイルでのみ行う方法を示しています。このファイルを使用すると、共有ライブラリを作成しましたが、.soファイルは同じ場所にある他の.cファイルを呼び出すことができません。どのように私はすべてのCファイルをコンパイルするので、私はJava経由でアクセス可能なマージされた共有ライブラリを作ることができますか?マルチファンクションCファイルを外部関数用の共有ライブラリにマージする方法

答えて

1

1)-fPICとオブジェクトファイルを作成します。

gcc -fPIC -c file1.c 

これはfile1.oを作成します。 (file2.cfile3.cなどと同じ)。

2)共有ライブラリにリンクします。

gcc -shared -o library.so file1.o file2.o file3.o 

は、追加のコンパイラフラグのためにそれに応じて調整など、使用している他のものからのパス

が含まれます
関連する問題