当DLL具有跨平台依赖性时,如何让C#应用程序与C ++ DLL通信?

时间:2014-06-25 20:01:30

标签: c# c++ exception-handling clr microsoft-runtime-library

我正在尝试构建一个与C ++服务架构一起运行的C#小部件。我正在利用现有的C ++接口服务来发布/订阅数据,我正在将它连接到C#可视化的回调中。

所以我得到了一个C#项目和C ++数据接口项目的解决方案。 C ++接口项目正在使用/ clr,/ MDd和/ EHa进行编译,但它依赖于许多使用/ EHsc和MTd编译的库。当这些标志不匹配时,链接器不喜欢它。

如果我将数据接口更改为使用/ MTd和/ EHsc之类的依赖项,它会告诉我与/ clr不一致。我假设我必须使用/ clr编译C ++数据接口,以便它可以与C#可视化对话,对吧?但我不拥有C ++项目的依赖库,因此我无法改变它们的编译方式。

所以我的问题是,当该DLL具有使用/ MTd和EHsc选项编译的依赖项时,您是否可以使用C#应用程序与C ++ DLL进行通信?

0 个答案:

没有答案