linux动态库与静态库混合连接
在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库。使用方式为:
gcc test.cpp -L. -ltestlib
如果当前目录有两个库libtestlib.so libtestlib.a 则肯定是连接libtestlib.so。如果要指定为连接静态库则使用:
gcc test.cpp -L. -static -ltestlib
使用静态库进行连接。
当对动态库与静态库混合连接的时候,使用-static会导致所有的库都使用静态连接的方式。这时需要作用-Wl的方式:
-Wl选项告诉编译器将后面的参数传递给链接器。
-soname则指定了动态库的soname(简单共享名,Short for shared object name)
gcc test.cpp -L. -Wl,-Bstatic -ltestlib -Wl,-Bdynamic -ltestlib
另外还要注意系统的运行库使用动态连接的方式,所以当动态库在静态库前面连接时,必须在命令行最后使用动态连接的命令才能正常连接
,如:
gcc test.cpp -L. -Wl,-Bdynamic -ltestlib -Wl,-Bstatic -ltestlib -Wl,-Bdynamic
linux动态库与静态库混合连接相关推荐
- Ubuntu下动态库与静态库混合连接
一.在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库.使用方式为: gcc test.cpp -L. -ltestlib 如果当前目录有两个库 ...
- linux系统c++编译连接过程,动态库与静态库
https://www.cnblogs.com/ucas/p/5778664.html(linux系统c++编译连接过程) http://www.cnblogs.com/skynet/p/337285 ...
- linux代码动态分析软件,举例分析Linux动态库和静态库
函数库分为静态库和动态库两种.创建Linux静态库和Linux动态库和使用它们在这里将以举例的形式详述一下.静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库.动态库在程序编译时并不 ...
- Linux动态库和静态库比较
Linux动态库和静态库比较文件预览 文件目录树如下,如你所见,非常简单. 1. libtest/ 2. |-- lt.c 3. |-- lt.h 4. `-- test.c ...
- Linux中的动态库和静态库(.a/.la/.so/.o)
为什么80%的码农都做不了架构师?>>> Linux中的动态库和静态库(.a/.la/.so/.o) Linux中的动态库和静态库(.a/.la/.so/.o) C/C++程序 ...
- 举例分析Linux动态库和静态库
转自:http://www.xxlinux.com/newxxlinux/development/gui/2012-01-05/499.html 函数库分为静态库和动态库两种.创建Linux静态库和L ...
- linux系统下的“静态库和动态库”专题之二:库的创建和使用
接上文[linux系统下的"静态库和动态库"专题之一:库的概念和规则]所述,我们通常把一些公用函数制作成函数库,供其它程序使用.函数库分为静态库和动态库两种. – 静态库在程序编译 ...
- gcc g++ Linux下动态库_静态库
关于Unix静态库和动态库的分析 基本概念 库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀. 例如:libhello.so libhello.a 为了在同一系统中使用不同版本的库,可以在 ...
- Linux库概念及相关编程(动态库、静态库、环境变量)
分文件编程: 好处:分模块编程思想,功能和责任划分清楚便与调试,main函数简洁,代码易于阅读. 编程时头文件有的是使用<>这个符号括起来的,有的是" "使用的是双引号 ...
最新文章
- 隐形马尔可夫模型——前向算法就是条件概率
- YUV2RGB源码详解(参考Opencv4.1)
- 两种删除internal table entry的性能比较
- web前后端 http转https
- Oracle11默认用户名和密码
- bzoj5017 [Snoi2017]炸弹
- 下载pyboard的flash中的驱动程序_HASP加密狗驱动程序没有安装成功如何解决
- 软件质量的定义以及相关理论
- 从Word中读取内容将word转换成txt
- linux报cpu软锁,内核软死锁
- STM32+Air202+Air530+HXDZ-30102-ACC心率血氧GPS采集上传到阿里云
- OpenGL学习脚印:伽马校正(Gamma Correction)
- 屏幕关闭原因以及p-sensor
- Dell清除BIOS密码及硬盘锁
- css文件处理,安装 less-loader
- STM32入门-区别ORD,BSRR,BRR寄存器
- 服务器内存性能查看,如何查看服务器内存使用大小
- 机器学习 --- k-means
- 用python爬取豆瓣影评及影片信息(评论时间、用户ID、评论内容)
- 全球及中国抗高血压药物市场经营状况及投资竞争力分析报告2021-2027年
热门文章
- 当你在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?
- oracle对象权限 函数,oracle的系统和对象权限
- win2012 ad用户和计算机,Server2012R2搭建AD域服务器并添加登录用户
- 【算法设计与分析】05 有关函数的渐进的界的定理
- git add -A 、git add -u 、 git add . 三种区别
- [UE4]更新UI的三种方式
- 设计模式 策略模式2 c++11
- Windows系统环境下Solr之Java实战(三)使用solrJ管理索引库
- python的collection系列-默认字典(defaultdict)
- 【LINUX/UNIX网络编程】之使用消息队列,信号量和命名管道实现的多进程服务器(多人群聊系统)...