首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过cmake - grpc forlders进行make install后为空

通过cmake - grpc forlders进行make install后为空
EN

Stack Overflow用户
提问于 2021-06-30 00:49:10
回答 1查看 60关注 0票数 1

我尝试从源码安装GRPC。我有Oracle Linux7.9,来自devtoolset-10的GCC 10.2.1和cmake version3.21.0-rc1都是从源代码构建的。

我使用的方式:

代码语言:javascript
复制
git clone --recurse-submodules -b v1.37.0 https://github.com/grpc/grpc
cd grpc
 mkdir -p cmake/build
 pushd cmake/build
 cmake -DgRPC_INSTALL=ON \
      -DgRPC_BUILD_TESTS=OFF \
      -DCMAKE_INSTALL_PREFIX=$/usr/local/bin \
      ../.. 
make
make install

之后,我看到来自本地的文件已在/usr/ /root/grpc/cmake/build$/usr/local/bin/lib/....files /....中创建。

好的。但是当我将目录更改为/usr/local -这个目录不包含make install中的文件。

我哪里做错了?

顺便说一句,当我尝试构建1.38版本的GRPS时,我返回了构建错误:

代码语言:javascript
复制
/root/grpc/src/core/lib/gpr/log_linux.cc: In function ‘void gpr_default_log(gpr_log_func_args*)’:
/root/grpc/src/core/lib/gpr/log_linux.cc:97:62: error: no matching function for call to ‘StrFormat(const char [22], const char*, char [64], int32_t&, long int&, const char*&, int&)’
       time_buffer, now.tv_nsec, tid, display_file, args->line);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-30 04:53:00

下面的方法对我很有效:

代码语言:javascript
复制
$ git clone --recurse-submodules -b v1.37.0 https://github.com/grpc/grpc
$ cmake -G Ninja -S grpc/ -B grpc-build  \
    -DCMAKE_BUILD_TYPE=Release           \
    -DCMAKE_INSTALL_PREFIX=/usr/local    \
    -DgRPC_INSTALL=ON                    \
    -DgRPC_BUILD_TESTS=OFF
$ cmake --build grpc-build --target install

这里相关的区别是我的安装前缀中没有杂乱的$,并且我设置了构建类型(您必须始终这样做)。

我使用的是Ubuntu20.04LTS,使用的是CMake 3.20.5 (最新版本)和GCC 10.3.0。请尝试上面的命令,看看有没有什么变化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68182754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档