使用ASIHTTPRequest的ASIDataCompressor与ASIDataDecompressor进行gzip压缩与解压缩,出现的问题

导入系统的libbz2.1.0.tbd

导入头文件#import <zlib.h>

从网上找的gzip压缩与解压缩方法

如:http://my.oschina.net/u/1244672/blog/185175


编译后,报错:

Undefined symbols for architecture x86_64:
  "_deflate", referenced from:
      +[JHEncryptTool gzipData:] in JHEncryptTool.o
  "_deflateEnd", referenced from:
      +[JHEncryptTool gzipData:] in JHEncryptTool.o
  "_deflateInit2_", referenced from:
      +[JHEncryptTool gzipData:] in JHEncryptTool.o
  "_inflate", referenced from:
      +[JHEncryptTool ungzipData:] in JHEncryptTool.o
  "_inflateEnd", referenced from:
      +[JHEncryptTool ungzipData:] in JHEncryptTool.o
  "_inflateInit2_", referenced from:
      +[JHEncryptTool ungzipData:] in JHEncryptTool.o
ld: symbol(s) not found for architecture x86_64


单独使用ASIDataCompressor与ASIDataDecompressor这两个类时,编译时,也会报同样的错!


解决办法:

Build Setting里面Other Linker Flags 添加 -lz



(2016-12-22)

另一个类似的问题:

Undefined symbols for architecture arm64:
  "_inflate", referenced from:
      +[WXOMTAHelper GUnzip:Out:] in libWeChatSDK.a(MTAHelper.o)
      -[NSData(WBSDKGZIP) wbsdk_gunzippedData] in libWeiboSDK.a(WBSDKGZIP.o)
  "_deflate", referenced from:
      +[WXOMTAHelper GZip:Out:] in libWeChatSDK.a(MTAHelper.o)
      -[NSData(WBSDKGZIP) wbsdk_gzippedDataWithCompressionLevel:] in libWeiboSDK.a(WBSDKGZIP.o)
  "_inflateEnd", referenced from:
      +[WXOMTAHelper GUnzip:Out:] in libWeChatSDK.a(MTAHelper.o)
      -[NSData(WBSDKGZIP) wbsdk_gunzippedData] in libWeiboSDK.a(WBSDKGZIP.o)
  "_deflateInit2_", referenced from:
      +[WXOMTAHelper GZip:Out:] in libWeChatSDK.a(MTAHelper.o)
      -[NSData(WBSDKGZIP) wbsdk_gzippedDataWithCompressionLevel:] in libWeiboSDK.a(WBSDKGZIP.o)
  "_inflateInit2_", referenced from:
      +[WXOMTAHelper GUnzip:Out:] in libWeChatSDK.a(MTAHelper.o)
      -[NSData(WBSDKGZIP) wbsdk_gunzippedData] in libWeiboSDK.a(WBSDKGZIP.o)
  "_deflateEnd", referenced from:
      +[WXOMTAHelper GZip:Out:] in libWeChatSDK.a(MTAHelper.o)
      -[NSData(WBSDKGZIP) wbsdk_gzippedDataWithCompressionLevel:] in libWeiboSDK.a(WBSDKGZIP.o)
ld: symbol(s) not found for architecture arm64


导入系统的libz.tbd,就解决问题了。


回头看,之前的问题,去掉

Build Setting里面Other Linker Flags 添加的 -lz

这回报错:

Undefined symbols for architecture x86_64:
  "_deflate", referenced from:
      -[ASIDataCompressor compressBytes:length:error:shouldFinish:] in ASIDataCompressor.o
  "_deflateEnd", referenced from:
      -[ASIDataCompressor closeStream] in ASIDataCompressor.o
  "_deflateInit2_", referenced from:
      -[ASIDataCompressor setupStream] in ASIDataCompressor.o
  "_inflate", referenced from:
      -[ASIDataDecompressor uncompressBytes:length:error:] in ASIDataDecompressor.o
  "_inflateEnd", referenced from:
      -[ASIDataDecompressor closeStream] in ASIDataDecompressor.o
  "_inflateInit2_", referenced from:
      -[ASIDataDecompressor setupStream] in ASIDataDecompressor.o
ld: symbol(s) not found for architecture x86_64


去掉之前导入系统库的libbz2.1.0.tbd,

换成libz.tbd,问题也解决了。


所以,libz.dylib是提供zip压缩解压缩的库。

所以,要么导入libz.tbd,要么Other Linker Flags 添加 -lz



PaddlePaddle是一个开源的深度学习平台,可以用于构建和训练深度学习模型。如果你想使用PaddlePaddle,可以通过源码编译的方式来安装。首先,你需要在Git Bash中执行以下两条命令来将PaddlePaddle的源码克隆到本地,并进入Paddle目录: ``` git clone https://github.com/PaddlePaddle/Paddle.git cd Paddle ``` 接下来,你可以根据自己的需求进行编译。如果你使用的是Windows系统,可以使用源码编译来安装符合你需求的PaddlePaddle版本。具体的编译步骤可以参考官方文档中的Windows下源码编译部分\[2\]。 如果你想在docker镜像中编译PaddlePaddle,可以使用以下命令启动docker镜像并进行编译。如果你需要编译CPU版本,可以使用以下命令: ``` sudo docker run --name paddle-test -v $PWD:/paddle --network=host -it hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash ``` 如果你需要编译GPU版本,可以使用以下命令: ``` sudo nvidia-docker run --name paddle-test -v $PWD:/paddle --network=host -it hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash ``` 以上是关于使用源码编译PaddlePaddle的一些基本步骤和命令。你可以根据自己的需求和操作系统选择适合的方式来安装PaddlePaddle。 #### 引用[.reference_title] - *1* *2* *3* [《PaddlePaddle从入门到炼丹》一——新版本PaddlePaddle的安装](https://blog.csdn.net/qq_33200967/article/details/83052060)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豪冷啊

你的鼓励是对我的认可!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值