Linux g++ 提示/usr/bin/ld: 找不到 -lthrift 问题解决办法

在使用g++ 编译 thrift的时候,返回报错提示:/usr/bin/ld: 找不到 -lthrift

错误代码展示:

[root@master gen-cpp]# g++ -I /usr/local/src/thrift-0.10.0/lib/cpp/src/thrift/ -lthrift RecSys.cpp RecSys_constants.cpp RecSys_types.cpp RecSys_server.skeleton.cpp -o server

/usr/bin/ld: 找不到 -lthrift

collect2: 错误:ld 返回 1

错误原因:

1 系统没有安装相对应的lib

2 相对应的lib版本不对

3 lib(.so档)的symbolic link不正确,没有连结到正确的函式库文件(.so)

解决方法:

(1)先判断在/usr/lib下的相对应的函式库文件(.so)的symbolic link是否正确,若不正确改成正确的连结目标即可解决问题。

(2)若不是symbolic link的问题引起,而是系统缺少相对应的lib安装lib即可解决。

(3)如何安装缺少的lib

直接在命令行输入

# locate  lib***

显示出文件所在路径,

然后在命令行:

# ln -s 文件路径/文件名  /usr/lib/文件名

在thrift目录下使用命令查找libthrift.so文件

[root@master thrift-0.10.0]# find ./ -name libthrift*

./lib/cpp/.libs/libthrift-0.10.0.so

./lib/cpp/.libs/libthrift.so

./lib/cpp/.libs/libthrift.a

... ...

 

创建软连接:

 

[root@master thrift-0.10.0]# ln -s /usr/local/src/thrift-0.10.0/lib/cpp/.libs/libthrift.so /usr/lib/libthrift.so

参数解释:

-I:指定解析用头文件

-o:编译生成的文件名

关注公众号,获取最新消息

阿布的进击

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值