无法在带有 VS2017 的 Windows 10 上安装和使用 gRPC C/C++

Posted

技术标签:

【中文标题】无法在带有 VS2017 的 Windows 10 上安装和使用 gRPC C/C++【英文标题】:Unable to install and use gRPC C/C++ on windows 10 with VS2017 【发布时间】:2019-03-30 07:19:41 【问题描述】:

我知道我在这里问的问题似乎有点傻,但这仍然是一个开放式问题,肯定会帮助很多人。

问题:- 在 Visual Studio 2017 和 windows 10 64 位中安装和使用 gRPC C/C++ 的方法是什么。

文档说要使用 CMAKE,但提供的关于如何实际构建 gRPC 的信息非常少。

如果有人可以逐步指导我如何安装 gRPC,将对我和其他刚接触 gRPC 并尝试构建它的人非常有帮助。

提前非常感谢!

【问题讨论】:

不需要编译它,gRPC 可以通过 NuGet 获得。 @J.Doe 感谢您的输入,您能否指出需要从 NuGet 下载的所有软件包是什么 搜索 grpc.cpp @J.Doe 非常感谢它正在成功构建但未正确链接我是否需要在从 nuget 安装后手动传递链接器目录路径? 你有链接到grpc++.libgpr.lib吗? 【参考方案1】:

我自己最近遇到了这个问题,想提出我的解决方案,虽然这个问题有点老了。

有一个可用的vcpkg 包,但它的版本已经过时了。因此,我使用 Visual Studio 2017 从源代码在 Windows 上构建并安装了 gRPC。官方 documentation 给出了一些提示,但在细节上相当模糊。我将在下面列出所有步骤,其中一些是从所述文档中复制的:

先决条件

Visual Studio(2015 或以上应该可以) Git CMake(确保在安装过程中将 CMake 添加到系统 PATH)

获取 gRPC

    克隆 gRPC 存储库:

    git clone -b RELEASE_TAG_HERE https://github.com/grpc/grpc
    

    RELEASE_TAG_HERE 替换为您选择的发布标签,例如v1.42.0 现在是最新的

    加载它的依赖:

    cd grpc
    git submodule update --init
    

从源代码构建 gRPC

    创建一个构建目录并转到它:

    mkdir .build
    cd .build
    

    使用 CMake 生成 Visual Studio 项目结构:

    对于 Visual Studio 2015:

    cmake .. -G "Visual Studio 14 2015"
    

    或对于 Visual Studio 2017:

    cmake .. -G "Visual Studio 15 2017"
    

    我无法针对较新版本的 Visual Studio 测试它,但它应该可以正常工作。

    在 Visual Studio 中打开新创建的解决方案grpc.sln(可在.build 目录中找到)

    在 Visual Studio 中选择所需的“解决方案配置”(调试、发布等)并构建解决方案。

安装 gRPC

这是很难弄清楚的部分,尽管它相当容易。

    使用管理员权限启动 Visual Studio 并加载 grpc.sln

    在“解决方案资源管理器”中,搜索项目INSTALL

    构建INSTALL 项目

    gRPC 现在安装到:

    C:\Program Files (x86)\grpc
    

    C:\Program Files (x86)\grpc\bin 添加到您的系统路径

在您的项目中使用 gRPC

    添加 gRPC 头文件:

    右键项目->属性->配置属性->C/C++->常规->附加包含目录

    编辑此属性并添加行C:\Program Files (x86)\grpc\include

    添加 gRPC 库:

    右键项目->属性->配置属性->链接器->输入->附加依赖

    编辑此属性并添加行C:\Program Files (x86)\grpc\lib\*.lib

    这会将所有 gRPC 库添加到项目中。

    或者,您可以在“附加库目录”中添加 \lib\ 目录,并在“附加依赖项”中单独列出每个 .lib 文件,但在我看来,这将是一种输入方式。

    您的项目应该没有错误地构建。确保使用与 gRPC 构建相同的“解决方案配置”。

我希望这个相当详细的指南可以帮助你们!

【讨论】:

以上是关于无法在带有 VS2017 的 Windows 10 上安装和使用 gRPC C/C++的主要内容,如果未能解决你的问题,请参考以下文章

VS 2017 - 带有版本信息(资源)的 C++ DLL 的 MSBuild 不起作用(致命错误 LNK1158:无法运行“cvtres.exe”)

如何在 VS2017 Cordova (Windows 10) 中安装模拟器

Windows10上安装VS2017社区版操作步骤

VS 2010 不工作并在 Windows 10 中安装 Visual Studio 2010 SP1 更新

Xamarin VS 2017 无法呈现 iOS 故事板文档

在Windows 7上从Windows 10 VS2017部署编译并找不到DLL