我在评论中提到了这一点,但这似乎是一个值得回答的问题.
我有一个项目,它在三个不同的XCode安装和两个不同的iOS SDK安装之间共享.目前,统一所涉及的开发人员不是一种选择.
当我安装iOS 5 Beta和XCode 4.2 libz.1.2.3.dylib时无处可寻.我发现链接反对libz.1.2.5.dylib处理了这个,但这与XCode和iOS SDK的其他活动安装不兼容.
我在网上研究了这个,并发现了上述建议和这个建议.前者不适合我,后者让我感到紧张.
那么,有什么之间的区别libz.dylib,libz.1.2.3.dylib并libz.1.2.5.dylib和我能安全地跨越Xcode和iOS SDK中的所有安装链接到第一张?
我知道有很多这些主题,但似乎没有一个在我的案例中有所帮助,也没有完全描述.最好的类似的是在正确的道路下找不到的.
我的问题是我可以使用Eclipse进行整个晚上的编程,编译和使用我的设备,然后我突然得到"当前项目的错误执行aapt",并且当然没有(正确)生成R.java.然后我重新启动Eclipse,一切都消失了.不过,我平均每天都会看到这一次.
我最近切换到amd64并安装了最新的Android-2.3 SDK和匹配工具.我知道现在有一个platform-tools文件夹,它有一个应该独立运行SDK版本的aapt版本.起初我按照SDK网站上的说明将此目录添加到我的PATH中.我也试过不把它添加到我的路径并制作链接平台/ android-9 /工具,以便每个SDK版本都可以使用它自己的旧版本.毋庸置疑,platform-tools/aapt就在那里并具有正确的权限,我可以随时在命令行上执行它.
当我写错误的xml文件或排序,并适当地得到错误时,我看到一个额外的行,上面写着"aapt:/lib32/libz.so.1:没有可用的版本信息".我正在运行最近的Gentoo linux系统.我已经安装了所有东西以支持amd64上的x86,但是为了确保重新出现了emul-linux-x86-baselibs和zlib.问题依然存在.我确实看到一些页面对某些zlib错误表示恐怖,但我不确定这是否相关.我意识到我不是在参考Ubuntu平台上,但肯定差别不是那么大?
它很可能是aapt中的错误或工具本身.它为什么突然停止工作?我也经历过R.java中的id是不正确的,即简单的findViewById()代码会给出ClassCastExceptions因为混合id一次,然后完美地工作而没有任何变化只是一个"干净的项目",在之后失败了.
最后,我在aapt上运行了一些命令,似乎没有添加任何额外的信息:
#ldd aapt
./aapt: /lib32/libz.so.1: no version information available (required by ./aapt)
linux-gate.so.1 => (0xffffe000)
librt.so.1 => /lib32/librt.so.1 (0x4f864000)
libpthread.so.0 => /lib32/libpthread.so.0 (0x4f849000)
libz.so.1 => /lib32/libz.so.1 (0xf7707000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/32/libstdc++.so.6 (0x415e9000)
libm.so.6 => /lib32/libm.so.6 (0x4f876000)
libgcc_s.so.1 => /lib32/libgcc_s.so.1 (0x4fac6000)
libc.so.6 => /lib32/libc.so.6 (0x4f5ed000)
/lib/ld-linux.so.2 (0x4f5ca000)
#file aapt
aapt: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped …Run Code Online (Sandbox Code Playgroud) 对于处理存储为.gz文件的图像(我的图像处理软件可以读取.gz文件以获得更短/更小的磁盘时间/空间)我需要检查每个文件的标题.
标题只是每个图像开头的固定大小的小结构,对于未压缩的图像,检查它非常快.为了读取压缩图像,我别无选择,只能解压缩整个文件然后检查这个标题,这当然会减慢我的程序速度.
是否可以读取.gz文件的第一段(比如几个K),解压缩该段并读取原始内容?我对gz的理解是,在开始的一些簿记之后,压缩数据是按顺序存储的 - 这是正确的吗?
所以代替
1.打开大文件F
2.解压缩大文件F
3.读取500字节标题
4.重新压缩大文件F
做
1.开大文件F
2读出的第一5 K.从F作为料流A
3解压缩A作为流B
4从读500字节的头B
我正在使用,libz.so但其他语言的解决方案表示赞赏!
众所周知,GZIP或DEFLATE(或任何压缩机制)有时会增加文件大小.是否可以增加文件的最大值(百分比或常量)?它是什么?
如果一个文件是X字节,并且我要gzip它,我需要提前预算文件空间 - 最糟糕的情况是什么?
更新:有两个开销:GZIP添加一个标头,通常是18个字节,但基本上是任意长的.DEFLATE怎么样?这可以通过乘法因子扩展内容,我不知道.有谁知道它是什么?
我收到此错误:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_ASIHTTPRequest", referenced from:
objc-class-ref in FirstViewController.o
"_OBJC_CLASS_$_SBJsonParser", referenced from:
objc-class-ref in FirstViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
注意我添加了框架核心图形,系统配置,移动核心服务,libz.dylib,libz.1.2.5.dylib,CF网络,UI工具包和基础.我搜索了所有论坛,花了差不多4天但却找不到原因.
当我评论我的ASIHTTPRequest和SBJSON代码行时,它工作正常.我添加了ASIHTTPRequest和SBJSON的所有类,并检查了三次.有谁能建议我做错了什么?
在我的项目中,我有几个链接错误,每个都指向缺少libz.这是一个例子:
Undefined symbols for architecture arm64:
"_inflateReset2", referenced from:
_png_inflate_claim in libcocos2d iOS.a(pngrutil.o)
"_inflateEnd", referenced from:
cocos2d::unzCloseCurrentFile(void*) in libcocos2d iOS.a(unzip.o)
cocos2d::ZipUtils::inflateMemoryWithHint(unsigned char*, long, unsigned char**, long*, long) in libcocos2d iOS.a(ZipUtils.o)
_png_destroy_read_struct in libcocos2d iOS.a(pngread.o)
+[GAICompressionUtil gai_dataByInflatingBytes:length:isRawData:] in libGoogleAnalyticsServices.a(GAICompressionUtil.o)
_FT_Stream_OpenGzip in libcocos2d iOS.a(ftgzip.o)
_ft_gzip_stream_close in libcocos2d iOS.a(ftgzip.o)
_FT_Gzip_Uncompress in libcocos2d iOS.a(ftgzip.o)
...
"_deflate", referenced from:
+[GAICompressionUtil gai_dataByCompressingBytes:length:compressionLevel:mode:] in libGoogleAnalyticsServices.a(GAICompressionUtil.o)
"_deflateInit2_", referenced from:
+[GAICompressionUtil gai_dataByCompressingBytes:length:compressionLevel:mode:] in libGoogleAnalyticsServices.a(GAICompressionUtil.o)
"_inflateReset", referenced from:
_png_decompress_chunk in libcocos2d iOS.a(pngrutil.o)
_FT_Stream_OpenGzip in libcocos2d iOS.a(ftgzip.o)
_ft_gzip_file_io in libcocos2d iOS.a(ftgzip.o) …Run Code Online (Sandbox Code Playgroud) 我已经下载了最新版本的libzip,目前正在尝试在OSX上构建它并失败:
Linking C shared library libzip.dylib
Undefined symbols for architecture x86_64:
"_crc32", referenced from:
__zip_filerange_crc in zip_filerange_crc.o
_crc_read in zip_source_crc.o
_decrypt in zip_source_pkware.o
__zip_string_crc32 in zip_string.o
(maybe you meant: __zip_string_crc32)
"_deflate", referenced from:
_compress_read in zip_source_deflate.o
(maybe you meant: _zip_source_deflate)
"_deflateEnd", referenced from:
_deflate_compress in zip_source_deflate.o
"_deflateInit2_", referenced from:
_deflate_compress in zip_source_deflate.o
"_inflate", referenced from:
_decompress_read in zip_source_deflate.o
"_inflateEnd", referenced from:
_deflate_decompress in zip_source_deflate.o
"_inflateInit2_", referenced from:
_deflate_decompress in zip_source_deflate.o
"_zError", referenced from:
__zip_error_strerror in zip_error_strerror.o
_zip_error_to_str in zip_error_to_str.o
ld: …Run Code Online (Sandbox Code Playgroud) 当我试图在Julia中使用Requests时,输出以下错误:
julia> using Requests
INFO: Precompiling module Requests...
ERROR: LoadError: LoadError: error compiling version: could not load library "libz"
libz: cannot open shared object file: No such file or directory
while loading /home/michael/.julia/v0.4/Libz/src/lowlevel.jl, in expression starting on line 110
while loading /home/michael/.julia/v0.4/Libz/src/Libz.jl, in expression starting on line 11
ERROR: LoadError: Failed to precompile Libz to /home/michael/.julia/lib/v0.4/Libz.ji
while loading /home/michael/.julia/v0.4/Requests/src/Requests.jl, in expression starting on line 27
ERROR: Failed to precompile Requests to /home/michael/.julia/lib/v0.4/Requests.ji
in compilecache at ./loading.jl:400
Run Code Online (Sandbox Code Playgroud)
我对朱莉娅的知识不足以辨别究竟发生了什么,但这里是来自Libz.jl的代码(第11行)......
include("lowlevel.jl")
Run Code Online (Sandbox Code Playgroud)
...来自lowlevel.jl(第103-110行)......
# …Run Code Online (Sandbox Code Playgroud)