如何编译一个静态的so

chen_jun_fen 2005-11-30 04:36:42
比如我的c文件里面用到了 pthread 库,我编译的时候,能不能把pthread一同编译到我的so里面去

谢谢!
...全文
264 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
deutsch 2005-12-03
  • 打赏
  • 举报
回复
在gcc时一定不要家shared
ar cru lib.a lib.o
ranlib lib.a
helijia2001 2005-12-02
  • 打赏
  • 举报
回复
好象是ar crv 命令
chen_jun_fen 2005-12-02
  • 打赏
  • 举报
回复
拿如何编译一个静态的,高人
deutsch 2005-12-02
  • 打赏
  • 举报
回复
so不是静态的,静态的应该是a才对,so是share object
chen_jun_fen 2005-12-02
  • 打赏
  • 举报
回复
急啊,望高人指点
chen_jun_fen 2005-12-02
  • 打赏
  • 举报
回复
好像还是不行,
我用 gcc -c *.cpp
gcc -shared -o libmypro.so *.o

这样编译出来的so,使用的时候,导入so成功,但是导出函数的地址获取不到。
不知道怎么回事
bekars 2005-11-30
  • 打赏
  • 举报
回复
举个例子

gcc -static -lpthread -o program program.c

这个时候你用ldd program会看到这个程序不依赖于任何库。
chen_jun_fen 2005-11-30
  • 打赏
  • 举报
回复
楼上的,能不能给个例子什么的 啊,谢谢了
bekars 2005-11-30
  • 打赏
  • 举报
回复
编译的时候用-static选项
chen_jun_fen 2005-11-30
  • 打赏
  • 举报
回复
楼上的,具体的命令是如何的,能不能给个 信息
bekars 2005-11-30
  • 打赏
  • 举报
回复
可以,你使用静态编译程序就可以了。

23,121

社区成员

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

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