`

从C++源代码到rpm安装包的制作过程

阅读更多

1.linux平台下面各种库的介绍和准备: http://www.sudu.cn/info/html/edu/20070102/286460.html

.o,是目标文件,相当于windows中的.obj文件
.so 为共享库,是shared object,用于动态连接的,和dll差不多
.a为静态库,是好多个.o合在一起,用于静态连接

2.文件准备

2.1所有相关的.h头文件

2.2所有相关的.c++文件

2.3编译准备用的Makefile文件: autoconf--(configure.in)-->configure->makefile

3.编译参数设置

3.1 源代码->.o目标文件: gcc -cmylib.c

3.2 源代码->静态库: ar -r mylib.a mylib.o

3.3 源代码->动态库: gcc test_a.c test_b.c test_c.c -fPIC -shared -o libtest.so

3.4 .o目标文件+静态库+动态库 -> binary可执行文件

动态链接参数: -L目录 -l动态库名

静态链接参数: -static

3. tar.gz --> rpm包的制作过程

rpm制作过程中用到的各个宏定义在:/usr/lib/rpm/macros

参考:

http://mervyn807.blog.163.com/blog/static/45307259201010423127119/

http://blog.csdn.net/coddey/archive/2011/03/18/6258899.aspx

制作实践:

http://blog.sina.com.cn/s/blog_4b6c49410100hi22.html

http://my.chinaunix.net/space.php?uid=21572171&do=blog&id=267210

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics