免费注册 查看新帖 |

Chinaunix

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

gcc 编译同时链接静态库A.a 和动态库B.so,如何处理? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-16 09:59 |只看该作者 |倒序浏览
如题

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2006-03-16 10:04 |只看该作者
确定好路径.
编译连接的参数加上 -L.... -l..

论坛徽章:
0
3 [报告]
发表于 2006-03-16 10:21 |只看该作者
只链接静态库、或者只链接动态库这样都可以,当两个都连接时就不行。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2006-03-16 10:28 |只看该作者
你把编译连接的命令贴上来.

论坛徽章:
0
5 [报告]
发表于 2006-03-16 11:22 |只看该作者
你需要链接那个静态库, 就直接给出它的全路径。

其余的库(没给全路径的), 自然以动态链接优先。

论坛徽章:
0
6 [报告]
发表于 2006-03-16 12:02 |只看该作者
LIB=$(HOME)/lib
gcc -o test test.o -L$(LIB) -lbase -ldatabase -l_dc -L$(ORACLE_HOME)/lib -lclntsh


libbase.a,libdatabase.a,lib_dc.a是静态库
libclntsh.so是oracle动态库

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2006-03-16 14:02 |只看该作者
静态库用绝对路径呢?
还有把报错也贴上来.

论坛徽章:
160
酉鸡
日期:2013-10-08 17:08:46丑牛
日期:2013-11-15 14:57:11双鱼座
日期:2014-02-14 01:12:01狮子座
日期:2014-03-27 10:36:09子鼠
日期:2014-05-22 13:34:36戌狗
日期:2014-07-29 14:29:35酉鸡
日期:2014-08-12 08:52:06水瓶座
日期:2014-08-12 12:18:45午马
日期:2014-10-30 22:49:57金牛座
日期:2014-11-19 09:52:57天蝎座
日期:2014-11-20 11:16:17射手座
日期:2014-11-27 17:52:22
8 [报告]
发表于 2006-03-16 16:26 |只看该作者
在动态库前加上-Bdynamic
在静态库前加上-Bstatic

回albcamus,我在这边一般是做潜水员

[ 本帖最后由 tclwp 于 2006-3-16 16:51 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2006-03-16 16:35 |只看该作者
原帖由 tclwp 于 2006-3-16 16:26 发表
在动态库前加上-Bdynamic
在静态库前加上-Bstatic


我晕,老大在CU也有帐号? 偶还第一次见到呐

论坛徽章:
0
10 [报告]
发表于 2006-03-18 11:34 |只看该作者
后来发现是静态库之间的调用问题,要把最底层的库放最后面 呵呵
谢谢各位大虾!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP