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 下如何交叉编译

 Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。

 Mac 下编译 Linux 和 Windows 64位可执行程序

 CGO_ENABLED= GOOS=linux GOARCH=amd64 go build main.go
CGO_ENABLED= GOOS=windows GOARCH=amd64 go build main.go12 Linux 下编译 Mac 和 Windows 64位可执行程序 CGO_ENABLED= GOOS=darwin GOARCH=amd64 go build main.go
CGO_ENABLED= GOOS=windows GOARCH=amd64 go build main.go12 Windows 下编译 Mac 和 Linux 64位可执行程序 SET CGO_ENABLED=
SET GOOS=darwin
SET GOARCH=amd64
go build main.go SET CGO_ENABLED=
SET GOOS=linux
SET GOARCH=amd64
go build main.go123456789 GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)
GOARCH:目标平台的体系架构(、amd64、arm)
交叉编译不支持 CGO 所以要禁用它 上面的命令编译 位可执行程序,你当然应该也会使用 编译 位可执行程序
很多博客都提到要先增加对其它平台的支持,但是我跳过那一步,上面所列的命令也都能成功,且得到我想要的结果,可见那一步应该是非必须的,或是我所使用的 Go 版本已默认支持所有平台。 --------------------- 本文来自 磐石区 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/panshiqu/article/details/53788067?utm_source=copy
 说明:
protobuf已经全面迁移到github,地址:https://github.com/google/protobuf
直接下载2..1版本:https://github.com/google/protobuf/archive/v2.6.1.zip 转linux不久对linux的各种路径变量不是特别熟悉,网上看了几个教程都没有提到添加 LIBRARY_PATH路径,导致自定义安装路径的时候链接失败,自己写一篇安装教程,也算作加深印象吧,希望对大家有所帮助。 默认安装: $wget https://github.com/google/protobuf/archive/v2.6.1.zip
$unzip protobuf-2.6..zip
$cd protobuf-2.6. 下载自github的代码需要首先执行 $ ./autogen.sh 生成configure文件
注意autogen.sh 需要gtest包,默认是从 googletest.googlecode.com下载,国内需要翻墙才能访问,很多人问autogen.sh运行失败,这里我补充一下
修改一下autogen.sh
将这段: echo "Google Test not present. Fetching gtest-1.5.0 from the web..."
curl http://googletest.googlecode.com/files/gtest-1.5.0.tar.bz2 | tar jx
mv gtest-1.5. gtest123 修改为: wget https://github.com/google/googletest/archive/release-1.5.0.tar.gz
tar xzvf release-1.5..tar.gz
mv googletest-release-1.5. gtest123 再执行 autogen.sh,这样就不会报错了 $ ./configure
$ make
$ make check
$ make install 我使用的是centos系统
/usr/local/bin
/usr/local/lib,
/usr/local/include
是也系统默认路径之一,所以到这一步就可以使用protobuf了
$ protoc -I=./ --cpp_out=./ test.proto
到你的test.proto文件所在目录使用命令protoc -I=./ --cpp_out=./ 生成C++版本的协议文件
一切OK的话,你回在当前目录看到.h和.cc文件12345678910111213 自定义安装路径:
protobuf默认安装在 /usr/local 目录
你可以修改安装目录通过 ./configure --prefix=命令
虽然我是root用户但觉得默认安装过于分散,所以统一安装在/usr/local/protobuf下 $./configure --prefix=/usr/local/protobuf
$ make
$ make check
$ make install 到此步还没有安装完毕,在/etc/profile 或者用户目录 ~/.bash_profile
添加下面内容
####### add protobuf lib path ########
#(动态库搜索路径) 程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/
#(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/
#执行程序搜索路径
export PATH=$PATH:/usr/local/protobuf/bin/
#c程序头文件搜索路径
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/
#c++程序头文件搜索路径
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/
#pkg-config 路径
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
###################################### 好了,goog luck123456789101112131415161718192021222324252627 编译如果出现找不到符号和链接错误请记得加上链接选项 -lprotobuf
并确认你的静态库路径是否生效 $ echo $LIBRARY_PATH --------------------- 本文来自 jackytse_ 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/xiexievv/article/details/47396725?utm_source=copy

https://hk.saowen.com/a/0974f14ebeaacefc2d4ea7193121f6faf8304388acc206e1781d42781d3883af      golang 使用 protobuf 的教程

golang环境 centos 7的更多相关文章

  1. CentOS6.4安装Golang环境

    什么是Go? Go是一门并发支持.垃圾回收的编译型的系统编程语言,目的是为了创造一门具有在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡点的一门编程语言. Go的主要特点有哪些? 类型安全和 ...

  2. mac 下配置protobuf 3.0 golang环境

    protobuf 3.0  与 之前的 protobuf 2.6 的语法是不一样的.需要重新安装一下,本机的环境是 OS X Yosemite  10.10.2 1. 不采用home brew安装,用 ...

  3. CentOS6.5上golang环境配置

    CentOS6.5上golang环境配置 一.下载和解压go环境包 >>cd /usr/local/src/ >>wget -c http://golangtc.com/sta ...

  4. 虚拟机环境Centos如何上网

    虚拟机环境Centos如何上网----------by ruffianfish.痞子鱼 因为我是用的虚拟机的环境,所以一切操作角度从虚拟机出发. 虚拟机环境的优点: 适合新手学习linux 永远不要怕 ...

  5. golang环境搭建

    golang环境搭建 好久没写博客了,最近加班好厉害,加到自己都觉得不太适合这个行业了,每天头都是沉甸甸的,可惜今年注定不是收获的季节. 最近忙里偷闲在学习nodejs,赶巧看到golang的文章,一 ...

  6. golang环境

    Golang是谷歌开发的一款开源性语言,暂时比较方便的IDE有Inteillj Idea.LiteIDE.Eclipse(Golipse)等,使用起来比较方便的IDE:LiteIDE和Inteillj ...

  7. IntelliJ IDEA开发golang环境配置

    IntelliJ IDEA开发golang环境配置 首先把GO安装好...(自行安装,附上一篇我之前写的MAC安装GO) 安装IntelliJ IDEA,下载地址: https://www.jetbr ...

  8. linux上java和golang环境变量的设置

    JAVA环境变量   (1).打开~/.bashrc完成环境配置( 作用类似于/etc/bashrc, 只是针对用户自己而言,不对其他用户生效.)       文件追加            expo ...

  9. Ubuntu下安装Rabbitmq和golang环境

    安装及配置Rabbitmq 1. 安装: sudo apt-get install rabbitmq-server 2. 启动web管理插件 sudo rabbitmq-plugins enable ...

随机推荐

  1. C# 数据库

    连接: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst ...

  2. 关于DDR3控制器的使用

    关于DDR3控制器的使用 mig_7series_0 u_mig_7series_0 ( // Memory interface ports .ddr3_addr (ddr3_addr), // ou ...

  3. Raspberry3B installation

    树莓派系统安装有两种方式,使用镜像安装和使用NOOBS安装.镜像方式安装传统,捣鼓的东西多一些.所以就使用NOOBS吧,NOOBS(New Out Of Box Software)开箱即用的,树莓派官 ...

  4. 如何查看k8s存在etcd中的数据(转)

    原文 https://yq.aliyun.com/articles/561888 一直有这个冲动, 想知道kubernetes往etcd里放了哪些数据,是如何组织的. 能看到,才有把握知道它的实现和细 ...

  5. nginx支持ipv6

    今天碰到的问题是nginx对于ipv6的请求没有日志,顺便查了一下,nginx对ipv6的支持. nginx -v查看nginx是否支持ipv6,出现--with-ipv6,则是支持nginx的,否则 ...

  6. [UE4]Menu Anchor,菜单锚点

    一.想要弹出某个菜单的时候,Menu Anchor可以做为菜单弹出的位置. 二.Menu Anchor本身不显示任何东西 三.Menu Class:选择要弹出的UI,可以是任意的UserWidget ...

  7. 残差神经网络与inception-resnet

    一.基本概念 Residual Connection: 本质是“短路连接” 如下图阴影部分,通过增加shortcuts,加速训练,从而可以训练出更深的模型(I.R.v2 > Inception ...

  8. 第一章 FFmpeg简介

    1.1 FFmpeg的定义 Fast Forward Moving Picture Experts Group(动态图像专家组) 1.2 FFmpeg的历史 1.3 FFmpeg的基本组成 1 FFm ...

  9. Vue 父组件方法和参数传给子组件的方法

    <template> <div class="content-item"> <!-- openWnd是父组件自身的方法,openDutyWnd是子组件 ...

  10. Django文件存储(一)默认存储系统

    Django默认使用的文件存储系统'django.core.files.storage.FileSystemStorage'是一个本地存储系统,由settings中的DEFAULT_FILE_STOR ...