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

发布于 2022-07-21 12:47:17 字数 2 浏览 9 评论 9

如题

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

陌伤ぢ 2022-07-22 06:40:01

后来发现是静态库之间的调用问题,要把最底层的库放最后面 呵呵
谢谢各位大虾!

风吹短裙飘 2022-07-22 06:36:30

原帖由 tclwp 于 2006-3-16 16:26 发表
在动态库前加上-Bdynamic
在静态库前加上-Bstatic

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

辞慾 2022-07-22 06:36:15

在动态库前加上-Bdynamic
在静态库前加上-Bstatic

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

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

十雾 2022-07-22 06:10:09

静态库用绝对路径呢?
还有把报错也贴上来.

﹎☆浅夏丿初晴 2022-07-22 05:49:51

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动态库

你需要链接那个静态库, 就直接给出它的全路径。

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

逆光飞翔i 2022-07-22 03:01:35

你把编译连接的命令贴上来.

百思不得你姐 2022-07-22 01:47:40

只链接静态库、或者只链接动态库这样都可以,当两个都连接时就不行。

子栖 2022-07-21 15:22:32

确定好路径.
编译连接的参数加上 -L.... -l..

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文