当前位置:  技术问答>linux和unix

弱弱的问:怎么编译一个.so

    来源: 互联网  发布时间:2015-11-26

    本文导语:  我现在想把一系列函数编译成一个.so文件,使用到的内存由调用者传入。 有多个.h和多个.c文件组成的,但是要编译成一个.so,请问怎么写makefile文件 给个gcc命令格式也可以。 | 创建 PIC 的编...

我现在想把一系列函数编译成一个.so文件,使用到的内存由调用者传入。
有多个.h和多个.c文件组成的,但是要编译成一个.so,请问怎么写makefile文件
给个gcc命令格式也可以。

|
创建 PIC 的编译器标志是 -fpic.在一些平台上的一些环境下, 如果 -fpic 不能用那么必须使用-fPIC. 参考 GCC 的手册获取更多信息. 创建共享库的编译器标志是 -shared.一个完整的例子看起来象:

gcc -fpic -c foo.c
gcc -shared -o foo.so foo.o

|
以hello.c生成libhello.so为例:
1. gcc –fPIC –c hello.c –o hello.o
2. gcc –shared –Wl,-soname,libhello.so –o libhello.1.0.0 hello.o –lc

|
来晚了,支持一下吧

    
 
 

您可能感兴趣的文章:

  • [提问]Linux下如何把多个.a文件编译一个.so文件,或者把多个.so文件编译成一个.so文件
  • gcc编译时so库和源文件在同一个目录,如果用-L.编译出来的程序为什么还说是找不到so库?
  • 我c调用b.so,b调用a.so编译能通过,运行时找不到库怎么办啊?????
  • 如果重新编译了.so文件后,但程序运行结果还是编译前的情况,大概是什么问题呢?
  • 如何编译成.so
  • 编译完.so文件后,如何运行?
  • 新手求教。。。。有.c .so .h文件的程序要怎么编译???.h .so均不是标准的。。。
  • qt libphonon.so的编译链接问题
  • .so文件编译的问题
  • 如何编译一个静态的so
  • CodeBlocks编译ARM Linux C程序,运行后报出缺少libstdc++.so.6
  • linux程序编译链接后无法运行,找不到so文件
  • 请问高手,在SCO UNIX系统下如何编译共享连接库(*.so)
  • Unix上g++编译STL程序出错——“libstdc++.so.5 =>(文件没有发现)”
  • 我在虚拟机上编译的.so lib可以在arm板上用吗?
  • help,g++编译出来的程序运行找不到libstdc++.so.5
  • 求救:在Linux编译中出现错误, TLS definition in bbc.so.6 section
  • 编译出现:cannot handle file'libc.so.6' with TLS Data ,请问是怎么回事
  • linux下如何用c++编译so文件,c语言又怎样调用这个so文件
  • *.so 文件编译好了之后是不是放到/lib下就可以了,还要进行别的操作才能生效么?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux/centos源码安装nginx编译配置选项参数介绍
  • 请教:JSP编译器编译成字节码,跟别的编译器编译出来的有什么不同呢?
  • CentOS 6内核升级:下载编译启用新内核版本详细过程
  • 编译GCC时能不能只编译C/C++的编译器?
  • 高速的网络抓包库PF_ring介绍及编译安装
  • 关于arm交叉编译器4.3.3编译程序报错,但是3.4.5却能编译通过的问题
  • JB下,我的程序编译得好慢!请问用什么方法编译才可以快一点?或编译顺序改变一下?
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • 用JCreator写了一个小程序,有十几个class,当修改某个文件重新编译,javac并没有编译修改的文件,请问要如何做javac才会重新编译所有的
  • 问:关于gcc编译器和g++编译器
  • 嵌入式linux开发:一段代码在windows平台用VC编译运行正常,在linux平台用gcc编译运行正常,但是用arm-linux-gcc编译在嵌入式板子上运行就不正常.
  • 在cygwin编译驱动程序要不要交叉编译?
  • 关于如何把编译进内核的编译成模块
  • C编译器 c++编译器 wieldylcc
  • Linux下gcc编译时,如何以静态链接的形式编译?
  • PROC开发时 //注释编译不通过 如何设置使用cpp编译。
  • 编译失败后如何再继续编译
  • 编译qt-x11,最后编译生成可执行文件时候,make出错
  • 如何查看已编译安装软件的编译命令行
  • 请问哪里有反编译.class文件的反编译器?
  • 用Jdk编译时出现提示要加 -deprecation 再编译,请教??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3