I am trying to build a C# widget to run alongside a C++ service architecture. I am leveraging an existing C++ interface service that publishes/subscribes data and I am hooking it up to the C# visualization's callbacks.
So I've got a solution with a C# project and the C++ data interface project. The C++ interface project is compiling with /clr, /MDd, and /EHa, but it depends on a lot of libs that are compiled with /EHsc and MTd. The linker doesn't like it when those flags don't match.
If I change the data interface to use /MTd and /EHsc like its dependencies, it tells me that is inconsistent with /clr. I assume I have to get the C++ data interface to compile with /clr so it can talk to the C# visualization, right? But I don't own the C++ project's dependency libraries, so I can't change how they are compiled.
So my question is, can you get a C# application to talk to a C++ DLL when that DLL has dependencies that were compiled with the /MTd and EHsc options?