ソースファイルtest.cppを与えました。共有ライブラリlibtest.soを作りたいと思います。私はautomakeファイルの範囲内でこれをやろうとしていますが、これを動作させることはできません。次のようにautomakeスクリプトで共有ライブラリ(.so)を作成するには?
g++ -shared -fPIC test.cpp -o libtest.so
が、私は共有ライブラリに依存します別のファイルを作成することができます:
g++ mytest.cpp libtest.so -o blah
私は読んだことがグラムの下で例えば
++私は、次の操作を行いますautomakeはlibtoolを介して共有ライブラリを作成することしかサポートしていません。私は私のautomakeが以下のように働くことを狙ってもらうように努力しましたが、.soを生産することは決してありません。 configure.acに:それは.laとの.oファイルを生成するために、私が得ている最も近いです
AC_ENABLE_SHARED
AC_DISABLE_STATIC
AC_PROG_LIBTOOL(libtool)
Makefile.am
lib_LTLIBRARIES=libtest.la
libtest_la_SOURCES=test.cpp
libtest_la_CFLAGS=-fPIC
libtest_la_CPPFLAGS=-fPIC
libtest_la_CXXFLAGS=-fPIC
libtest_la_LDFLAGS= -shared -fPIC
でもらえ誰か上記に基づいて.soを構築する例を教えてください。
AC_PROG_LIBTOOLをLT_INIT –
Bahに置き換える必要があります。これを書いた後、上記のことが実際にソースディレクトリの隠し.libsディレクトリに.soファイルを作成したことに気付きました。 うまくいけば、これはこれについて不思議に思う誰かに役立ちます。 – skimon
誰かがファイルの完全な例をここに投稿できますか?ソースファイルではなく、configure.acとMakefile.am。私はこのスレッドの情報を使ってこの作業を行うことはできません。 –