给定一个源文件test.cpp,我想创建一个共享库libtest.so。我正在尝试在 automake 文件的范围内完成此操作,但似乎无法使其正常工作。
例如,在 g++ 下,我执行以下操作:
g++ -shared -fPIC test.cpp -o libtest.so
那么我可以创建另一个文件,其依赖于共享库,如下所示:
g++ mytest.cpp libtest.so -o blah
我已经阅读过,只有通过libtool automake才支持创建共享库。我尝试按照以下方式让我的automake脚本工作,但它似乎从未生成.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 的示例吗?