EDA365电子论坛网
标题:
linux程序怎样同时链接动态库与静态库,看过来
[打印本页]
作者:
mytomorrow
时间:
2019-10-10 12:29
标题:
linux程序怎样同时链接动态库与静态库,看过来
( A: I; w, g/ f1 h2 f: `
在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库。使用方式为:
4 t/ I& t5 a# q
! O1 A6 T- w" T( q8 S
gcc test.cpp -L. -ltestlib
0 _6 W7 E0 {# i# O- @0 y
) d. r* R1 \% m6 V, u
如果当前目录有两个库libtestlib.so libtestlib.a 则肯定是连接libtestlib.so。如果要指定为连接静态库则使用:
0 y: F" A; _; |4 j9 c7 {8 _0 r% B
8 k8 z8 {+ F, h( H
gcc test.cpp -L. -static -ltestlib
" Y% ?$ M% W7 ~5 ]% j4 z/ e$ u3 @
5 E& D1 c) j# [% C, }
使用静态库进行连接。
- Y$ ~5 R( D7 b1 E5 E" m K
; `! r1 f' |2 U/ s7 B( d
3 G& X# w$ M' m* d s. x5 c
当对动态库与静态库混合连接的时候,使用-static会导致所有的库都使用静态连接的方式。这时需要作用-Wl的方式:
4 ?/ A3 F1 ^9 f, W- e1 S$ ^
' @9 h, T# e6 I
2 T5 ]+ x% s$ c! {$ ]+ K7 Q- U
3 z9 [5 W x- E7 u- M2 g$ `% L
' w0 ~6 G1 s* C9 u! }+ b' I
" {" g1 _1 G& i! p
作者:
helendcany
时间:
2019-10-10 22:54
看看。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2