1.automake
a。安装相关工具
b。对于目录
wapi/include
wapi/src
进入wapi/src
- 执行autoscan,形成configure.scan
- mv configure.scan configure.in(ubuntu 14.04下为configure.ac)
- vi configure.in
在AC_CONFIG_HEADERS和AC_PROG_CC中间添加
AM_INIT_AUTOMAKE(WAPI,1.0)
修改AC_OUTPUT为AC_OUTPUT(Makefile)
--注
1.如果原目录下已经存在makefile,则需要删除后重新执行。
2.如果编译.so需要增加
AC_PROG_RANLIB
# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_SIZE_T
AC_TYPE_UINT32_T
AC_TYPE_UINT8_T
AC_PROG_LIBTOOL
# Checks for library functions.
AC_FUNC_MALLOC
AC_CHECK_FUNCS([memset])。
修改完毕,保存退出。
修改完成后configure.in的内容如下
- 执行aclocal生成aclocal.m4
- 执行autoconf,生成configure
- 运行autoheader,生成config.h.in
- 手动创建Makefile.am,输入对应内容如下图所示
说明:
AUTOMAKE_OPTIONS:它用于设置automake的选项,设置为foreign时,automake会改用一般软件的标准来进行检查;
bin_PROGRASM: 输出可执行的文件名
main_SOURCES: 生成可执行程序main,所需要的源文件
main_LDADD: 生成可执行程序main,所需要的库文件以及路径
INCLUDES: 指定链接是所需要的头文件路径
bindir:make install后可执行文件安装目录
lib_LIBRARIES: 生成的lib库文件名称
libdir :lib文件安装路径
data_DATA:配置文件名称
datadir:配置文件安装路径
lib_LTLIBRARIES=libalgor1.la:动态库名称
libalgor1_la_SOURCES:动态库源代码路径
moduledir动态库路径·--经测试有问题,会安装在/usr/lib对应moduledir下。改为./configure --pre-fix=dir
执行automake --add-missing
执行./configure 生成makefile
2.cmake