avro的简介:看百度吧!
avro下载:http://www.apache.org/dyn/closer.cgi/avro/ (这里有好多的可以下载的网址,一般第一个最好,后面的都是备份和第一个一样。)
avro-c的api简介官网:http://avro.apache.org/docs/current/api/c/ (官网上面也没有把全部的api说明白。)
我要用的是c版本的。
下载下来解压之后
其中的build文件是我自己创建的这个是用来编译程序,编译的时候在build里执行,可以将产生的许多东西全放在这里面。
1、阅读INSTALL文件里面有详细的编译安装过程,首先要下载两个不知名的东西,我只下载了一个因为这两个东西是可选的
yum install asciidoc是安装第一个包的最方便的方法,如果找不到包就去官网上下载吧:http://www.methods.co.nz/asciidoc
第二个包我没有安装,好像没什么影响。
2、 $ mkdir build
$ cd build
$ cmake .. \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
-DCMAKE_BUILD_TYPE=RelWithDebInfo
$ make
$ make test
$ make install
这是INSTALL文件中给出的安装方式,第三步cmake的时候容易出现问题。
1)CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
出现这个问题的原因是缺少了g++编译工具执行命令:
yum install gcc-c++ 来安装。
2)
CMake Error at /usr/share/cmake-2.6/Modules/FindKDE4.cmake:84 (MESSAGE):
ERROR: cmake/modules/FindKDE4Internal.cmake not found in
/home/mm/.kde/share/apps;/usr/share/kde4/apps[/code]
解决方法:
yum list kdelib
kdelibs.i686 6:4.3.4-20.el6_4.1 updates
kdelibs.x86_64 6:4.3.4-20.el6_4.1 updates
kdelibs-apidocs.noarch 6:4.3.4-20.el6_4.1 updates
kdelibs-common.x86_64 6:4.3.4-20.el6_4.1 updates
kdelibs-devel.i686 6:4.3.4-20.el6_4.1 updates
kdelibs-devel.x86_64 6:4.3.4-20.el6_4.1 updates
kdelibs-experimental.i686 4.3.4-3.el6 base
kdelibs-experimental.x86_64 4.3.4-3.el6 base
kdelibs-experimental-devel.i686 4.3.4-3.el6 base
kdelibs-experimental-devel.x86_64 4.3.4-3.el6 base
kdelibs3.i686 3.5.10-25.el6 base
kdelibs3.x86_64 3.5.10-25.el6 base
kdelibs3-apidocs.noarch 3.5.10-25.el6 base
kdelibs3-devel.i686 3.5.10-25.el6 base
kdelibs3-devel.x86_64 3.5.10-25.el6 base
这是yum源中所有的可用安装,但是只需要使用最上面的6个就够了。(其实只需要3个,就是64位的3个或者32位的3个)
3、这些问题解决之后就是后面的make和make test 和make install
在make test的时候如果出现错误却不知道怎么解决的时候可以进makefile把出错的那几句注释掉,然后只留下能make的就行了。
4、安装完了这个库之后就能够使用了。里面本身就有许多测试程序可以学习和使用。
avro库中还提供了4中文件的压缩方式,sanppy、default、lzma和null
Snappy 是一个 C++ 的用来压缩和解压缩的开发包,其目标不是最大限度压缩,而且不兼容其他压缩格式。Snappy 旨在提供高速压缩速度和合理的压缩率。Snappy 比 zlib 更快,但文件相对要大 20% 到 100%。在 64位模式的 Core i7 处理器上,可达每秒 250~500兆的压缩速度。
snappy官网:http://code.google.com/p/snappy/
按照步骤安装完snappy之后重新cmake avro库但是依然可能无法编译成功,因为前面有一个zlib也没有找到,可以用yum install zlib.x86_64安装这个库(32位对应的是zlib.i686)
这样再重新cmake 就成功了!