工具库不是lib开头该怎么办?该如何链接

前言:

开发不规范,同事两行泪

问题:

某位同事提供的公共库是APP_TESTPUB.so,该如何去链接呢?

正文:

在gcc链接的过程中一般是使用-L用来指定动态库存放路径,可以是相对路径,也可以是绝对路径。-l用来表示链接那个动态库或者静态库,同名优先链接静态库。

如下:

## 链接/home/test/lua/lua-5.3.5/lib/liblua-5.3.so 
gcc test.c -I./incl -I./ -lxml2 -L/home/test/lua/lua-5.3.5/lib -llua-5.3 -o libtest.so -fPIC -shared

      一般做法自己的库如果需要别人链接的话,都要准守库命名的原则以lib开头,但是规范毕竟是规范,总有人不按照规范来,那么碰到不规范的命名如:APP_TESTPUB.so 这样的,我们怎么办呢?总不能站在那里被人喷你很菜吧?

一种做法让公共库的开发改名字,当然存量系统的这么改还是有风险的。还有一种就是将错就错的做法。

如下:

## 链接/home/test/lua/lua-5.3.5/lib/liblua-5.3.so 
gcc test.c -I./incl -I./ -lxml2 /home/test/lua/lua-5.3.5/lib/liblua-5.3.so -o libtest.so -fPIC -shared
gcc test.c -I./incl -I./ -lxml2 /home/test/lua/lua-5.3.5/lib/APP_TESTPUB.so -o libtest.so -fPIC -shared

这种做法是直接去掉了-L和-l来实现不规范命名的库链接。

结语

开发不规范,同事两行泪

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值