linux C++库文件编译报错:error: file not recognized: File format not recognized

本文介绍了解决Thrift版本升级过程中遇到的编译错误问题。错误表现为库文件格式未被识别,通过对比正常与异常文件发现,从Windows复制到虚拟机的库文件格式异常。建议使用第三方工具如SecureFX进行文件传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在升级 thrift 版本时,遇到编译报以下错误:

libthrift-0.13.0.so:-1: error: file not recognized: File format not recognized

这种问题是文件格式有问题,通过查看文件属性:

#异常库文件
指令:file libthrift-0.13.0.so
返回:libthrift-0.13.0.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), statically linked, stripped
#正常库文件
指令:file libglog.so
返回:libglog.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=14927e8db6b16810f4397cfd7c6ee8dc84ee9df3, not stripped

后面排查发现在编译后的库文件正常,复制到开发虚拟机上的库文件有问题,通过windows中转直接进行复制粘贴库文件会导致库文件异常,使用第三方工具如SecureFX 则能正常使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值