GCC动态库和静态库搜索路径

GCC通过-L 和-l 可以定义所使用的库,但是在实际应用中不同平台中库命名不一样,比如名字为XXX的库,在linux下叫libXXX.a,在window下可能就叫XXX.dll.对于初学者可能这个库了,可能就是找不到.命令ld可以告诉你gcc会搜索那些名字.通过命令

 

ld -l pump --verbose

 

 在执行之后再最下会发现

 

attempt to open /usr/i486-linux-gnu/lib32/libpump.so failed
attempt to open /usr/i486-linux-gnu/lib32/libpump.a failed
attempt to open /usr/local/lib32/libpump.so failed
attempt to open /usr/local/lib32/libpump.a failed
attempt to open /lib32/libpump.so failed
attempt to open /lib32/libpump.a failed
attempt to open /usr/lib32/libpump.so failed
attempt to open /usr/lib32/libpump.a failed
attempt to open /usr/i486-linux-gnu/lib/libpump.so failed
attempt to open /usr/i486-linux-gnu/lib/libpump.a failed
attempt to open /usr/local/lib/libpump.so failed
attempt to open /usr/local/lib/libpump.a failed
attempt to open /lib/libpump.so failed
attempt to open /lib/libpump.a failed
attempt to open /usr/lib/libpump.so failed
attempt to open /usr/lib/libpump.a failed
ld: cannot find -lpump

 

从中可以看到GCC搜索那些类库.通过-L可以设置优先搜索的路径

 

$ ld -L /home/javen/pump  -l pump --verbose
attempt to open /home/javen/pump/libpump.so failed
attempt to open /home/javen/pump/libpump.a failed
attempt to open /usr/i486-linux-gnu/lib32/libpump.so failed
attempt to open /usr/i486-linux-gnu/lib32/libpump.a failed
attempt to open /usr/local/lib32/libpump.so failed
attempt to open /usr/local/lib32/libpump.a failed
attempt to open /lib32/libpump.so failed
attempt to open /lib32/libpump.a failed
attempt to open /usr/lib32/libpump.so failed
attempt to open /usr/lib32/libpump.a failed
attempt to open /usr/i486-linux-gnu/lib/libpump.so failed
attempt to open /usr/i486-linux-gnu/lib/libpump.a failed
attempt to open /usr/local/lib/libpump.so failed
attempt to open /usr/local/lib/libpump.a failed
attempt to open /lib/libpump.so failed
attempt to open /lib/libpump.a failed
attempt to open /usr/lib/libpump.so failed
attempt to open /usr/lib/libpump.a failed
ld: cannot find -lpump

 当然了第一个被搜索道德库会被利用,当在搜索路径中放入库是则会

attempt to open /home/javen/pump/libpump.so failed
attempt to open /home/javen/pump/libpump.a succeeded
 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值