grpc和英特尔编译器



我想使用gRPC作为C++和Java组件之间的桥梁/粘合剂(在Windows和Linux上,尽管目前我对Windows解决方案更感兴趣(,但我目前面临的主要障碍是缺乏对英特尔编译器的支持(我想主要是由于第三方依赖,例如不支持它的下降(,一些组件使用了英特尔编译器。通常情况下,我会检查所有错误,并尝试自己修复它们,但由于我不是C++专家,这可能不会很好地结束,此外,也许还有另一种方法可以绕过这个问题。

我所说的";绕过";严格来说,只要有另一种方法将我的新库/代码插入现有的C++项目(使用ICC编译(,我就不必使用ICC编译新组件。我知道我在这里过于简单化了(使用C++从来没有那么容易(,但最后应该只是在应用程序依赖项中添加另一个DLL。我读过一些关于混合不同C++编译器的相当古老的线程,虽然不推荐它,但它似乎是可行的,但关于如何做到这一点的建议似乎有些过头了,所以我想知道是否有一种更简单的方法(只是(链接和使用我的库/二进制文件,而不必回到COM(也许近年来事情发生了变化,有更好的方法吗?(。

有人成功地做了这样的事情吗(还有人成功地用ICC编译了gRPC吗?没有指定任何版本,因为这似乎是一个长期的问题(?

提前感谢

windows上的Dll在涉及其公开的API时需要特别小心。有些库不愿意麻烦,也不正式支持作为dll构建。

根据以前的经验,我知道grpc不支持作为dll构建。你可以在这里阅读。应该可以编译,但它极有可能引发可怕的dll堆相关错误。。这绝对不是生产代码的方式

一个可能的解决方案是将grpc静态链接到您自己的dll。制作一个隐藏任何grpc API的包装器,使用MSVC编译所有内容,然后将其用作ICC项目中的dll依赖项。

相关内容

最新更新