zoukankan      html  css  js  c++  java
  • golang环境 centos 7

    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下载,国内需要FQ才能访问,很多人问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 的教程

  • 相关阅读:
    ECMAScript 引用类型Object 对象
    jQuery Form Plugin
    在 PHP5 中使用 DOM 控制 XML
    JavaScript encodeURI()和encodeURIComponent() 函数
    程序员进阶的建议:多看、多写、多交流
    jQuery 取 css zindex 值在各种浏览器中的返回值
    XPath 语法教程(Tutorial_2)
    使用 strpos 需要注意 === 运算符
    关于代码开发规范和原则
    PHP 编写大型网站问题集
  • 原文地址:https://www.cnblogs.com/pbblogs/p/9743204.html
Copyright © 2011-2022 走看看