給出了一些源文件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 scriupt工作如下,但它似乎永遠不會產生一個.so。我已經得到了最接近的是,它產生.la和.o文件將:
在configure.ac:
在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基於上述的例子?
你應該用LT_INIT替換AC_PROG_LIBTOOL – 2012-01-18 19:52:38
Bah ...寫完這個之後,我意識到上面確實在我的源代碼目錄的隱藏的.libs目錄中創建了.so文件。 希望這可以幫助別人誰想知道這一點。 – skimon 2012-01-18 19:55:10
有人可以在這裏發佈完整的文件示例嗎?不是源文件,而是configure.ac和Makefile.am。我無法使用此主題中的信息進行此項工作。 – 2016-08-15 17:05:11