【问题标题】:Trying to create a gRPC project using Visual Studio 2017 but running into E0145尝试使用 Visual Studio 2017 创建 gRPC 项目但遇到 E0145
【发布时间】:2020-05-11 15:54:08
【问题描述】:

我在 Linux 上成功学习了本教程:https://grpc.io/docs/quickstart/cpp/
(gRPC 版本:v1.28.1)
然后我改了helloworld.proto文件,重新生成了grpc.pb.cc、pb.cc、grpc.pb.h、pb.h文件。
然后我将这些文件复制到装有 Visual Studio 2017 的 Windows 10 机器上。
我使用 vcpkg 安装 grpc。 (天哪,这一步花了 45 分钟……)
我启动了一个新的控制台项目并添加了 helloworld 示例代码。
该项目似乎神奇地找到了 grpc 包含文件。
但是当我尝试编译大多数为 E0145 的项目时,IDE 出现 175 个错误。
例如:
E0145 成员“google::protobuf::Any::kIndexInFileMessages”可能未初始化。

我尝试关闭预编译头文件。但无济于事。

有人知道我怎样才能让它运行吗?

【问题讨论】:

  • 请显示您的编译和链接器配置。

标签: visual-studio-2017 grpc


【解决方案1】:

你可以试试这个链接:

  1. Answer by "developercommunity" form

    “已发布此问题的修复程序!请从 https://visualstudio.microsoft.com/downloads/ 安装 Visual Studio 2019 RC。感谢您提供有助于改进产品的宝贵反馈。”

.

  1. Answer by "stackoverflow" form

    “我通过#define BOOST_FILESYSTEM_SOURCE 在我的应用程序中修复了前三个错误(E0145)。最后一个错误(E2512)仍然存在。它出现在以下代码中:#define BOOST_SYSTEM_REQUIRE_CONST_INIT #if defined(__has_cpp_attribute) #if __has_cpp_attribute(clang::require_constant_initialization) # undef BOOST_SYSTEM_REQUIRE_CONST_INIT #define BOOST_SYSTEM_REQUIRE_CONST_INIT [[clang::require_constant_initialization]] #endif #endif – pras123"

【讨论】:

  • 谢谢伙计,你的回答中有很多很好的信息!感谢您抽出宝贵时间!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-04
  • 1970-01-01
  • 2018-06-29
  • 1970-01-01
  • 1970-01-01
  • 2018-06-02
  • 1970-01-01
相关资源
最近更新 更多