在debian/ubuntu系统下,需要做如下准备操作:$ [sudo] apt-get install build-essential autoconf libtool pkg-config如果你想要从源码编译并且运行测试,同时运行下面的安装:$ [sudo] apt-get install libgfla...
在debian/ubuntu系统下,需要做如下准备操作:
$ [sudo] apt-get install build-essential autoconf libtool pkg-config
如果你想要从源码编译并且运行测试,同时运行下面的安装:
$ [sudo] apt-get install libgflags-dev libgtest-dev
$ [sudo] apt-get install clang libc++-dev
下拉源代码信息(包括子模块)
在编译之前,你需要下拉grpc的github仓库,并且下载grpc的一些依赖库,具体操作如下:
$ git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
$ cd grpc
$ git submodule update --init
在grpc根目录调用如下命令:
$ make
$ make install
这样,grpc将会安装到你的系统目录中。
注意:使用make install安装之后,想要卸载grpc会比较困难。如果你之后想要移除grpc,或者想要升级到一个新的版本,这将会是个问题。
protoc安装
默认grpc使用protobuf,你需要protoc编译器来生成服务端和客户端的通信代码。如果你安装上面的方式安装,如果你还没有安装protoc编译器,Makefile会自动编译位于third_party中的protoc。
如果protoc编译器没有安装,你可以使用下面的指令安装:
$ cd grpc/third_party/protobuf
$ sudo make install # ‘make’ should have been run by core grpc
关于在linux中安装go语言版本的grpc (这里不包括安装protoc,如果你需要安装protoc,可以参考博客中的《在linux中安装protobuf编译器和运行时环境》)
首先确保你使用的go语言版本为go1.6或者更高。你可以调用如下命令:
$ go version
安装grpc
安装方法为:
$ go get -u google.golang.org/grpc
如果上述命令出现超时的问题,你可以采取下面的方式:
git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc
对于其中的golang.org/x/net,你也需要做类似的操作:
git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net
对于使用go1.11及以上版本的,可以考虑使用go mod的replace特性来创建golang.org包的一个别名(这个我没有实际操作过)。在你的项目目录调用:
go mod edit -replace=google.golang.org/grpc=github.com/grpc/grpc-go@latest
go mod tidy
go mod vendor
go build -mod=vendor
对于需要使用的golang.org/x/net库,也需要做类似的操作。
本文标题为:linux下安装grpc插件 (c++和go语言)
- C语言手把手带你掌握带头双向循环链表 2023-04-03
- C++ 数据结构超详细讲解顺序表 2023-03-25
- 我应该为我的项目使用相对包含路径,还是将包含目录放在包含路径上? 2022-10-30
- C语言详解float类型在内存中的存储方式 2023-03-27
- Easyx实现扫雷游戏 2023-02-06
- c++ const 成员函数,返回一个 const 指针.但是返回的指针是什么类型的 const? 2022-10-11
- Qt计时器使用方法详解 2023-05-30
- ubuntu下C/C++获取剩余内存 2023-09-18
- 详解C语言中sizeof如何在自定义函数中正常工作 2023-04-09
- C语言qsort()函数的使用方法详解 2023-04-26