https://blog.csdn.net/ggq89/article/details/82682171 Linux下Go的安裝、配置 、升級和卸載
https://blog.csdn.net/weixin_37696997/article/details/78525639 centos安裝golang、protobuf
https://www.cnblogs.com/mrblue/p/8891789.html CentOS7安裝Go環境
https://www.cnblogs.com/pyyu/p/8032257.html Go語言之講解GOROOT、GOPATH、GOBIN
GOROOT為你的Go安裝跟目錄
GOPATH為你go程序開發目錄,go get后的包也會下載到該目錄。
GOBIN為你的go運行目錄,運行 go install 命令后,程序會被安裝到該目錄。
PATH為你Go程序根目錄,用於能夠通過控制台調用go命令。
https://hk.saowen.com/a/0974f14ebeaacefc2d4ea7193121f6faf8304388acc206e1781d42781d3883af golang 使用 protobuf 的教程
https://blog.csdn.net/panshiqu/article/details/53788067 Golang 在 Mac、Linux、Windows 下如何交叉編譯
1 Golang 支持交叉編譯,在一個平台上生成另一個平台的可執行程序,最近使用了一下,非常好用,這里備忘一下。 2 3 Mac 下編譯 Linux 和 Windows 64位可執行程序 4 5 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go 6 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go12 7 8 Linux 下編譯 Mac 和 Windows 64位可執行程序 9 10 11 12 CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go 13 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go12 14 15 Windows 下編譯 Mac 和 Linux 64位可執行程序 16 17 18 19 SET CGO_ENABLED=0 20 SET GOOS=darwin 21 SET GOARCH=amd64 22 go build main.go 23 24 SET CGO_ENABLED=0 25 SET GOOS=linux 26 SET GOARCH=amd64 27 go build main.go123456789 28 29 GOOS:目標平台的操作系統(darwin、freebsd、linux、windows) 30 GOARCH:目標平台的體系架構(386、amd64、arm) 31 交叉編譯不支持 CGO 所以要禁用它 32 33 上面的命令編譯 64 位可執行程序,你當然應該也會使用 386 編譯 32 位可執行程序 34 很多博客都提到要先增加對其它平台的支持,但是我跳過那一步,上面所列的命令也都能成功,且得到我想要的結果,可見那一步應該是非必須的,或是我所使用的 Go 版本已默認支持所有平台。 35 36 --------------------- 37 38 本文來自 磐石區 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/panshiqu/article/details/53788067?utm_source=copy
1 說明: 2 protobuf已經全面遷移到github,地址:https://github.com/google/protobuf 3 直接下載2.6.1版本:https://github.com/google/protobuf/archive/v2.6.1.zip 4 5 轉linux不久對linux的各種路徑變量不是特別熟悉,網上看了幾個教程都沒有提到添加 LIBRARY_PATH路徑,導致自定義安裝路徑的時候鏈接失敗,自己寫一篇安裝教程,也算作加深印象吧,希望對大家有所幫助。 6 7 8 9 默認安裝: 10 11 12 13 $wget https://github.com/google/protobuf/archive/v2.6.1.zip 14 $unzip protobuf-2.6.1.zip 15 $cd protobuf-2.6.1123 16 17 下載自github的代碼需要首先執行 $ ./autogen.sh 生成configure文件 18 注意autogen.sh 需要gtest包,默認是從 googletest.googlecode.com下載,國內需要翻牆才能訪問,很多人問autogen.sh運行失敗,這里我補充一下 19 修改一下autogen.sh 20 將這段: 21 22 23 24 echo "Google Test not present. Fetching gtest-1.5.0 from the web..." 25 curl http://googletest.googlecode.com/files/gtest-1.5.0.tar.bz2 | tar jx 26 mv gtest-1.5.0 gtest123 27 28 修改為: 29 30 31 32 wget https://github.com/google/googletest/archive/release-1.5.0.tar.gz 33 tar xzvf release-1.5.0.tar.gz 34 mv googletest-release-1.5.0 gtest123 35 36 再執行 autogen.sh,這樣就不會報錯了 37 38 39 40 $ ./configure 41 $ make 42 $ make check 43 $ make install 44 45 我使用的是centos系統 46 /usr/local/bin 47 /usr/local/lib, 48 /usr/local/include 49 是也系統默認路徑之一,所以到這一步就可以使用protobuf了 50 $ protoc -I=./ --cpp_out=./ test.proto 51 到你的test.proto文件所在目錄使用命令protoc -I=./ --cpp_out=./ 生成C++版本的協議文件 52 一切OK的話,你回在當前目錄看到.h和.cc文件12345678910111213 53 54 55 56 自定義安裝路徑: 60 protobuf默認安裝在 /usr/local 目錄 61 你可以修改安裝目錄通過 ./configure --prefix=命令 62 雖然我是root用戶但覺得默認安裝過於分散,所以統一安裝在/usr/local/protobuf下 63 64 $./configure --prefix=/usr/local/protobuf 65 $ make 66 $ make check 67 $ make install 68 69 到此步還沒有安裝完畢,在/etc/profile 或者用戶目錄 ~/.bash_profile 70 添加下面內容 71 ####### add protobuf lib path ######## 72 #(動態庫搜索路徑) 程序加載運行期間查找動態鏈接庫時指定除了系統默認路徑之外的其他路徑 73 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/ 74 #(靜態庫搜索路徑) 程序編譯期間查找動態鏈接庫時指定查找共享庫的路徑 75 export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/ 76 #執行程序搜索路徑 77 export PATH=$PATH:/usr/local/protobuf/bin/ 78 #c程序頭文件搜索路徑 79 export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/ 80 #c++程序頭文件搜索路徑 81 export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/ 82 #pkg-config 路徑 83 export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/ 84 ###################################### 85 86 好了,goog luck123456789101112131415161718192021222324252627 87 88 編譯如果出現找不到符號和鏈接錯誤請記得加上鏈接選項 -lprotobuf 89 並確認你的靜態庫路徑是否生效 90 91 $ echo $LIBRARY_PATH 92 93 --------------------- 94 95 本文來自 jackytse_ 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/xiexievv/article/details/47396725?utm_source=copy
https://hk.saowen.com/a/0974f14ebeaacefc2d4ea7193121f6faf8304388acc206e1781d42781d3883af golang 使用 protobuf 的教程