学习使用AutoMake1.9的自动生成工程文件(三)——层叠型加引用静态库工程实践过程
来源:互联网 发布:rhino执行js方法 编辑:程序博客网 时间:2024/06/11 17:01
经过本人不懈的努力终于再Mac上面,使用Auto工具完成了自动编译工程
现在记录我编译层叠式工程的过程:
project /
src / 这里是main.cpp
include / 这里是file1.cpp file.h 和 生成 libfile1.a
(1)找到libtool和ltmain.sh
(2)将AUTHORS、ChangeLog、NEWS、README拷过去。
(3)编写Makefile.am
project下的Makefile.am就一样:SUBDIRS = src include
inlcude下的:
src下的:
(4)$ >autoscan,得到configure.scan之后,修改成:
红色部分自己添加的。
(5)$ > autoheader
(6)$ > autoconf
(7)$ > automake -a
现在记录我编译层叠式工程的过程:
project /
src / 这里是main.cpp
include / 这里是file1.cpp file.h 和 生成 libfile1.a
(1)找到libtool和ltmain.sh
$ >which libtool
/usr/bin/libtool
$ >cd /usr/
$ >find . -name ltmain.sh
/usr/lib/php/build/ltmain.sh
/usr/share/libtool/libltdl/ltmain.sh
/usr/share/libtool/ltmain.sh
$ >cp /usr/share/libtool/ltmain.sh 到你的目录project下面
/usr/bin/libtool
$ >cd /usr/
$ >find . -name ltmain.sh
/usr/lib/php/build/ltmain.sh
/usr/share/libtool/libltdl/ltmain.sh
/usr/share/libtool/ltmain.sh
$ >cp /usr/share/libtool/ltmain.sh 到你的目录project下面
(2)将AUTHORS、ChangeLog、NEWS、README拷过去。
(3)编写Makefile.am
project下的Makefile.am就一样:SUBDIRS = src include
inlcude下的:
noinst_LIBRARIES = libfile1.a
libfile1_a_SOURCES = file1.h file1.cpp
INCLUDE = -I@top_srcdir@/
libfile1_a_SOURCES = file1.h file1.cpp
INCLUDE = -I@top_srcdir@/
src下的:
bin_PROGRAMS = hello
hello_SOURCES = file1.h main.cpp
LDADD = ../include/libfile1.a
hello_SOURCES = file1.h main.cpp
LDADD = ../include/libfile1.a
(4)$ >autoscan,得到configure.scan之后,修改成:
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT(hello, 1.0, aa@163.com)
AC_CONFIG_SRCDIR([src/main.cpp])
AC_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(hello, 1.0)
# Checks for programs.
AC_PROG_CC
AC_PROG_CXX
AC_PROG_INSTALL
AC_PROG_LIBTOOL
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_CONFIG_FILES([Makefile
include/Makefile
src/Makefile])
AC_OUTPUT
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT(hello, 1.0, aa@163.com)
AC_CONFIG_SRCDIR([src/main.cpp])
AC_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(hello, 1.0)
# Checks for programs.
AC_PROG_CC
AC_PROG_CXX
AC_PROG_INSTALL
AC_PROG_LIBTOOL
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_CONFIG_FILES([Makefile
include/Makefile
src/Makefile])
AC_OUTPUT
(5)$ > autoheader
(6)$ > autoconf
(7)$ > automake -a
- 学习使用AutoMake1.9的自动生成工程文件(三)——层叠型加引用静态库工程实践过程
- 学习使用AutoMake1.9的自动生成工程文件(二)——flat型程序编译实践过程
- 学习使用AutoMake1.9的自动生成工程文件(一)——网络文章摘要
- c++工程引用c文件(extern "C")的使用
- django工程使用静态文件
- MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码
- 使用 gyp 生成工程文件
- Android工程自动生成build.xml文件,并使用Ant打包Android工程
- HEW中RX62N工程自动生成文件的解析
- 全面解析Unity3D自动生成的脚本工程文件
- HEW中RX62N工程自动生成文件的解析
- 全面解析Unity3D自动生成的脚本工程文件
- 全面解析Unity3D自动生成的脚本工程文件
- 全面解析Unity3D自动生成的脚本工程文件
- 全面解析Unity3D自动生成的脚本工程文件
- android工程不自动生成R文件的解决办法
- 全面解析Unity3D自动生成的脚本工程文件
- 全面解析Unity3D自动生成的脚本工程文件
- Java语法总结 - 数组
- Further & Further on my way
- Subversion快速入门教程
- eclipse快捷键大全
- js 动态改变imput type属性
- 学习使用AutoMake1.9的自动生成工程文件(三)——层叠型加引用静态库工程实践过程
- 在英文ubuntu下使用SCIM输入中文
- 生成随机数
- 慧鱼生物机器人
- iframe 不带滚动条
- c# 执行ORACLE存储过程并返回行数
- 如何使用Java自带的正则表达式
- 系统安全之系统密码破解的五种方法
- 随机得到Access数据库记录