automake 使用库文件
来源:互联网 发布:linux防火墙配置命令 编辑:程序博客网 时间:2024/05/22 07:21
****************************************
automake 使用库文件
****************************************
--------------------
1. 准备素材.
--------------------
a. mkdir hello; //创建hello 目录
b. cd hello; mkdir src; mkdir lib; // 在hello 下创建src 和 lib 两个目录
c. 在lib 目录下创建sayHello.h, sayHello.c, 在src 目录下创建main.c
其中main.c 会调用lib目录下的sayHello 函数
具体代码:
--------------------
2.
创建Makefile.am;
lib/Makefile.am;
src/Makefile.am,
内容如下:
--------------------
--------------------
3.
autoscan;
mv configure.scan configure.ac;
vim configure.ac.
修改为如下形式
--------------------
--------------------
5. automake -a //生成Makefile.in
6. ./configure //生成Makefile
7. make // 编译。
--------------------
注意问题:
注意书写语法: AUTOMAKE_OPTIONS, SUBDIRS, SOURCES, LDADD, CFLAGS
AM_INIT_AUTOMAKE, AC_PROG_RANLIB
这是个简单的示例,注意从其它开源项目中学习,automake就可以登堂入世了.
其他像动态库链接,其它关键字等,通过学习可以得到
automake 使用库文件
****************************************
--------------------
1. 准备素材.
--------------------
a. mkdir hello; //创建hello 目录
b. cd hello; mkdir src; mkdir lib; // 在hello 下创建src 和 lib 两个目录
c. 在lib 目录下创建sayHello.h, sayHello.c, 在src 目录下创建main.c
其中main.c 会调用lib目录下的sayHello 函数
具体代码:
~/hello$ cat lib/s sayHello.c sayHello.h ~/hello$ cat lib/sayHello.h #ifndef _HELLO_H #define _HELLO_H void sayhello(); #endif ~/hello$ cat lib/sayHello.c #include <stdio.h> #include "sayHello.h" void sayhello() { printf("hello\n"); } ~/hello$ cat src/main.c #include <stdio.h> #include "sayHello.h" int main(int argc, char *argv[]) { sayhello(); }
--------------------
2.
创建Makefile.am;
lib/Makefile.am;
src/Makefile.am,
内容如下:
--------------------
~/hello$ cat Makefile.amAUTOMAKE_OPTIONS=foreignSUBDIRS=lib src~/hello$ cat lib/Makefile.amAUTOMAKE_OPTIONS=foreignnoinst_LIBRARIES=libmytest.alibmytest_a_SOURCES=sayHello.h sayHello.c~/hello$ cat src/Makefile.amAUTOMAKE_OPTIONS=foreignbin_PROGRAMS=hellohello_SOURCES=main.chello_LDADD=../lib/libmytest.a#INCLUDES = -I../libCFLAGS += -I../lib
--------------------
3.
autoscan;
mv configure.scan configure.ac;
vim configure.ac.
修改为如下形式
--------------------
~/hello$ cat configure.ac# -*- Autoconf -*-# Process this file with autoconf to produce a configure script.AC_PREREQ([2.69])AC_INIT([hello], [1.0], [BUG-REPORT-ADDRESS])AC_CONFIG_SRCDIR([src/main.c])#AC_CONFIG_HEADERS([config.h])AM_INIT_AUTOMAKE(hello,1.0) # manully add# Checks for programs.AC_PROG_CCAC_PROG_RANLIB # manully add# Checks for libraries.# Checks for header files.# Checks for typedefs, structures, and compiler characteristics.# Checks for library functions.AC_CONFIG_FILES([Makefile lib/Makefile src/Makefile])AC_OUTPUT4. aclocal, autoconf
--------------------
5. automake -a //生成Makefile.in
6. ./configure //生成Makefile
7. make // 编译。
--------------------
注意问题:
注意书写语法: AUTOMAKE_OPTIONS, SUBDIRS, SOURCES, LDADD, CFLAGS
AM_INIT_AUTOMAKE, AC_PROG_RANLIB
这是个简单的示例,注意从其它开源项目中学习,automake就可以登堂入世了.
其他像动态库链接,其它关键字等,通过学习可以得到
0 0
- automake 使用库文件
- 使用automake自动生成makefile文件(中)
- 使用autoconf和automake生成Makefile文件
- 使用automake生成静态库
- Automake 使用
- automake使用
- Automake 使用
- 使用Automake 创建和使用静态库
- iptables :根据库libiptc,自写库librtc,并且使用automake修改makefile文件
- Automake使用第三方库的方法
- 教你如何使用automake生成Makefile文件
- 使用automake等命令自动生成Makefile文件
- 教你如何使用automake生成Makefile文件
- Linux下使用automake、autoconf生成configure文件
- Linux下使用automake、autoconf生成configure文件
- 如何使用autoconf,automake,libtool自动生成Makefile文件
- automake文件生成Make
- automake连载--Linux下使用automake入门
- UVALive 3177-贪心+二分
- MySQL操作笔记(2)
- 在树莓派上安装MySQL数据库和简单使用方法
- Oracle建表,建序列,建触发器,自动生成唯一主键。dual解释
- 泛型方法
- automake 使用库文件
- ajax返回的是空值
- TinyOS05:Avrora的安装及简介
- Android 中Handler消息机制
- iOS应用安全开发总结
- 计算机视觉有用的资源(很多主页含有代码)
- 自定义控件(2)---ColorMatrixColorFilter色彩矩阵颜色过滤器
- iOS -- 6位密码验证
- 使用WebView时请使用RelativeLayout