免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 9026 | 回复: 6
打印 上一主题 下一主题

如何用gcc 编译出 .a 为扩展名的文件? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-10-21 14:22 |只看该作者 |倒序浏览
最近正在用 c 语言写 cgi ,
碰到一个问题: 如何用gcc 编译出 .a 为扩展名的文件?

我现在用命令:
gcc -O3 -o libcgilite.so cgilite.c -c

可以编译出: libcgilite.so 文件

那么如何 把 libcgilite.so 文件大包成 .a 文件

然后可以: 用 /usr/bin/ld 测试?



复习资料:

.c为后缀的文件,C语言源代码文件;
.a为后缀的文件,是由目标文件构成的档案库文件;
.C,.cc或.cxx 为后缀的文件,是C++源代码文件;
.h为后缀的文件,是程序所包含的头文件;
.i 为后缀的文件,是已经预处理过的C源代码文件;
.ii为后缀的文件,是已经预处理过的C++源代码文件;
.m为后缀的文件,是Objective-C源代码文件;
.o为后缀的文件,是编译后的目标文件;
.s为后缀的文件,是汇编语言源代码文件;
.S为后缀的文件,是经过预编译的汇编语言源代码文件。

论坛徽章:
0
2 [报告]
发表于 2005-10-21 14:26 |只看该作者

如何用gcc 编译出 .a 为扩展名的文件?

原帖由 "accesine" 发表:
最近正在用 c 语言写 cgi ,
碰到一个问题: 如何用gcc 编译出 .a 为扩展名的文件?

我现在用命令:
gcc -O3 -o libcgilite.so cgilite.c -c

可以编译出: libcgilite.so 文件

那么如何 把 libcgilite.so ..........




用 ar 工具

gcc -c libcgilite -o libcgilite.o
ar rcs libcgilite.a  libcgilite.o
HighTech 该用户已被删除
3 [报告]
发表于 2005-10-21 14:29 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2005-10-21 14:56 |只看该作者

如何用gcc 编译出 .a 为扩展名的文件?

我也在写CGI 有空聊聊.
gcc -c name.c  -o name.o
ar rcs libname.a name.o

论坛徽章:
0
5 [报告]
发表于 2005-10-21 15:04 |只看该作者

如何用gcc 编译出 .a 为扩展名的文件?

大家再帮我一下:

按照上面的方法生成了  libcgilite.a 文件

并做了连接:
# ln -s  libcgilite.a  /usr/lib/libcgilite.a

然后,我需要做个测试用如下命令:
gcc -O3 -o cgitest.cgi example/cgitest.c -llibcgilite.a

这个命令再文件 ./compile.sh 中执行,可是发生了如下错误:
./compile.sh cgitest
Making cgitest.cgi test program. . .

gcc -O3 -o cgitest.cgi example/cgitest.c -llibcgilite.a
/usr/bin/ld: cannot find -llibcgilite.a
collect2: ld returned 1 exit status


看样子是: 没有找到 libcgilite.a ,

那么  /usr/bin/ld 为什么没有找到 libcgilite.a  呢?


谢谢大家

论坛徽章:
0
6 [报告]
发表于 2005-10-21 15:06 |只看该作者

如何用gcc 编译出 .a 为扩展名的文件?

原帖由 "accesine" 发表:
大家再帮我一下:

按照上面的方法生成了  libcgilite.a 文件

并做了连接:
# ln -s  libcgilite.a  /usr/lib/libcgilite.a

然后,我需要做个测试用如下命令:
gcc -O3 -o cgitest.cgi example/cgitest...........



为什么 libcgilite.a 前面要加"-"?   是不需要加的!

论坛徽章:
0
7 [报告]
发表于 2005-10-27 21:24 |只看该作者

如何用gcc 编译出 .a 为扩展名的文件?

gcc -O3 -o cgitest.cgi example/cgitest.c -lcgilite
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP