天天看点

protobuf的Java版安装方式linux系统:make: *** No rule to make target `install'. Stop.

1,安装maven

a.下载apache-maven-3.2.5,链接:http://mirrors.hust.edu.cn/apache//maven/maven-3/3.2.5/binaries/

b.解压到指定目录:(我使用的目录为)/Users/zhoufei/Documents/Tools/apache-maven-3.2.5

c.打开终端,配置环境变量:

vi ~/.bash_profile

MAVEN_HOME=/Users/zhoufei/Documents/Tools/apache-maven-3.2.5 //maven解压目录

export PATH=$PATH:$MAVEN_HOME/bin

export JAVA_HOME=/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home //Jave环境位置

注意:1.6.0.jdk 为你当前系统安装的版本号

使编辑生效: source ~/.bash_profile

d.检查是否安装成功

mvn -v

2,下载probuf源码和编译器

1.下载protobuf-2.5.0,链接:http://pan.baidu.com/s/1pJlZubT

我们还可以下载3.5版本的

2.安装

使用tar -zxf protobuf-2.5.0.tar.gz命令解压后得到是 protobuf-2.5.0的源码,

cd protobuf-2.5.0 进入目录

假如 你希望编译成功后输出的目录 为 /Users/zhoufei/Documents/Tools/protobuf/ 则输入如下两条命令:

./configure --prefix=/Users/zhoufei/Documents/Tools/protobuf/ 

make && make install

编译成功后将export PATH= /Users/zhoufei/Documents/Tools/protobuf/bin:$PATH加入到环境变量中

最后输入 protoc --version命令,如显示libprotoc 2.5.0则安装成功

3, 实例测试

一切准备就绪,我们来测试下。

进入目录下:/Users/zhoufei/Documents/Tools/ProtobufFile

vi person.proto

就按ProtocolBuffer的语法规则简单建立一个.proto的文件

package csdnblog;

message PBUser {

required string userId = 1;

optional string nick = 2;

optional string avatar = 3;

}

创建完毕后,我们来编译这个person.proto文件。命令如下:

protoc --plugin=/usr/local/bin/protoc person.proto --java_out=./

protoc会自动在/usr/local/bin/目录下寻找名为”protoc”的插件,并使用该插件编译.proto文件,最终生成文件:

Person.java

这个步骤通过后,说明ProtocoBuffer可以正常工作了。

后边还有几个坑:

1、make编译不通过

linux系统:make: *** No rule to make target `install'. Stop.

出现标题所示的错误代码是因为在Linux安装软件总没有在Windows系统下安装软件那么容易,不同的软件包安装的方式也不同,这是缺少依赖包的原因,解决方法如下

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel nss_ldap openldap openldap-devel  openldap-clients openldap-servers libxslt-devel libevent-devel ntp  libtool-ltdl bison libtool vim-enhanced            

2、执行之后文件没有结果

主要是proto文件里边不能package

protobuf的Java版安装方式linux系统:make: *** No rule to make target `install'. Stop.

直接删掉就可以了,而不是删除

参考文章:

protobuf-2.5.0.tar.gz的下载与安装 链接:http://blog.csdn.net/huguoping830623/article/details/45482725

Protobuf详解 链接:http://mikewang.blog.51cto.com/3826268/1432136/

3.5下载路径:https://github.com/protocolbuffers/protobuf/releases