动态库使用静态库,如何导出静态库中的函数

fdisksys 2015-04-18 09:08:43
情景如下:
有1.c,2.c,3.c三个文件,2.c,3.c没有互相依赖,1.c依赖2.c.
2.c,3.c编译成静态库lib1.a, 1.c链接lib1.a生成动态库lib2.so.
生成的lib2.s里面没有3.c的实现.

请问如何将3.c强制链接到lib2.so里面去?
...全文
884 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
LouisScola 2015-04-20
  • 打赏
  • 举报
回复
你这应用场景也是醉了 1 2 3.c都是你的源码吗,都是的话直接编译一个.so
fdisksys 2015-04-20
  • 打赏
  • 举报
回复
引用 4 楼 JiangWenjie2014 的回复:
静态库是在编译期间链接到可执行程序里面的,程序发布的时候你找得到静态库?
同样也会链接进动态库里.只要找得到动态库就行了.
JiangWenjie2014 2015-04-20
  • 打赏
  • 举报
回复
静态库是在编译期间链接到可执行程序里面的,程序发布的时候你找得到静态库?
fdisksys 2015-04-20
  • 打赏
  • 举报
回复
引用 2 楼 LouisScola 的回复:
你这应用场景也是醉了 1 2 3.c都是你的源码吗,都是的话直接编译一个.so
2.c 3.c 都有源码,但他是第三方库,1.c是对第三方库的封装. 我就是不想编译进一个so库,第三方库有第三方自己的编译方式. 我采用了一个比较hack的方法,在1.c里面写一个不需要的函数,让他调用一下3.c的函数. 我想gcc应该有提供相应的功能.
csdn_vieri 2015-04-18
  • 打赏
  • 举报
回复
似乎不行。 动态链接库只会导入它需要的符号,不需要的不导入。

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧