【发布时间】:2014-10-16 01:33:33
【问题描述】:
我想使用 Autotools 来创建一个 .so 文件,以便我可以使用 dlsym 加载它。我已经阅读了一些类似的主题,但没有一个建议的解决方案对我有用。这是我所拥有的:
我想把一个简单的 hello.cpp 编译成一个 .so。
配置.ac
AC_INIT(My Project, 0.1, my@email, myproject)
AC_PREREQ(2.68)
AC_COPYRIGHT(GNU General Public License)
AM_CONFIG_HEADER([config.h])
AC_PROG_CXX
AM_INIT_AUTOMAKE([1.9 foreign])
AC_CONFIG_FILES(Makefile)
AC_ENABLE_SHARED
AC_DISABLE_STATIC
LT_INIT
AC_OUTPUT
Makefile.am
lib_LTLIBRARIES = libtest.la
libtest_la_SOURCES = hello.cpp
libtest_la_LDFLAGS = -version-info 0:0:0
我从here 得到这个想法,但是当我输入时:
autoreconf -i
./configure
make
我得到一个 libtest.la 文件,但遗憾的是没有 .so 文件。如果有帮助,这就是我通常将 hello.cpp 编译成 hello.so 的方式:
g++ -Wall -shared -rdynamic -fPIC hello.cpp -o hello.so
如果有人告诉我我做错了什么,我将不胜感激,以便我最终得到 .so 文件。
【问题讨论】:
标签: c++ makefile autotools shared-libraries