天天看點

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