编译动态库

原创 2004年08月13日 10:22:00

首先,需要产生位置无关(position-independent)代码。  
要做到这一点,gcc需要加上编译选项-fPIC  
gcc  -fPIC  -O  -c  libbar.c  

 

这时候就适合构造共享库了,加上-shared编译选项  
gcc  -shared  -o  libbar.so  libbar.o  
 
可以把许多重定位文件加到共享库中。为了把baz.o和共享库连接在一起,可以如下操作:  
#  gcc  -O  -c  baz.c  
#  gcc  -o  baz  baz.o  -L.  -lbar  

linux下编译动态链接库的一个小例子

最近在项目中需要编译一个库,但是对linux
  • qianchenglenger
  • qianchenglenger
  • 2014年06月19日 19:44
  • 6949

vs2010 静态库以及动态库编译实例

最近在研究ffmpeg,所以想
  • wswxfwps
  • wswxfwps
  • 2014年06月17日 19:20
  • 12973

如何编译动态库/静态库之编译Qt4.8.5静态库/动态库

实习了五周,真的学到了很多东西,也十分感谢同事/前辈对我的耐心教导,要不是他们的耐心真的措手不及。 “编译出来库” “链接到静态库/动态库(Static library/Dynamic libra...
  • dreamer_q
  • dreamer_q
  • 2017年06月17日 08:56
  • 169

android 静态库和动态库编译

android 库的编译依赖于nkd-build,使用之前请先安装NDK。编译依赖 Android.mk 和 Application.mk 两个文件。Android.mk(同时编译静态库和动态库):L...
  • jayckler
  • jayckler
  • 2017年01月21日 14:20
  • 655

使用ndk编译生成so动态库

Android.mk文件: Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、 需要编译的.c/.cpp文件和.a静态库文件等。   LOC...
  • qq_20801369
  • qq_20801369
  • 2016年06月20日 22:59
  • 614

用Cmake编译Opencv源码,生成动态库

使用 Cmake 软件对 OpenCV 源代码重新编译,才能得到最终的 dll 和 lib 文件 1. OpenCV2.0安装于以下目录: G:/opencv2.4.9 2. 使用...
  • WiseClown
  • WiseClown
  • 2014年08月18日 16:15
  • 1149

openssl动态库生成以及交叉编译

虚拟机环境 ubuntu12.04 开发板 EasyARM-i.MX280A:   64m  sdram  128M  nandflash   运行官方提供的Linux-2.6.35.3内核li...
  • andylauren
  • andylauren
  • 2016年12月04日 21:55
  • 5499

linux编译动态库和静态库的makefile示例

根据GenDll.cpp文件,分别生成动态库.so和静态库.a文件,需要依赖的外部库为opencv。1. 静态库的生成makefile命令的简介可参考:跟我一起写 Makefile。使用ar命令生成....
  • shaoxiaohu1
  • shaoxiaohu1
  • 2015年07月18日 16:07
  • 27281

在linux中使用cmake构建共享库(动态链接库)

cmake是一种跨平台的构建工具。它可以生成各种平台支持的makefile和project文件。 在windows下,一般都是用visual studio来管理工程。 事实上,就本人来说,使用cmak...
  • wks19891215
  • wks19891215
  • 2016年03月29日 02:34
  • 4029

linux环境下同时使用静态库、动态库编译程序

1. 应用场景因某些原因,需要同时使用静态库及动态库编译代码。 在这里我需要静态链接的是zbarlib,动态链接的是opencv库。 经过一个下午的艰苦奋斗,分享一下网上的解决方法以及最终导致不成...
  • u010209897
  • u010209897
  • 2016年07月26日 19:26
  • 1451
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编译动态库
举报原因:
原因补充:

(最多只允许输入30个字)