Как вы можете заставить приложение C# общаться с C++ DLL, когда DLL имеет кроссплатформенные зависимости?

Я пытаюсь создать виджет C# для запуска вместе с архитектурой сервиса C++. Я использую существующую службу интерфейса C++, которая публикует / подписывает данные, и подключаю их к обратным вызовам визуализации C#.

Итак, у меня есть решение с проектом C# и проектом интерфейса данных C++. Проект интерфейса C++ компилируется с /clr, /MDd и /EHa, но это зависит от множества библиотек, которые скомпилированы с /EHsc и MTd. Линкер не любит, когда эти флаги не совпадают.

Если я изменю интерфейс данных на использование /MTd и /EHsc как их зависимости, это говорит мне, что это не согласуется с / clr. Я предполагаю, что мне нужно получить интерфейс данных C++ для компиляции с / clr, чтобы он мог общаться с визуализацией C#, верно? Но мне не принадлежат библиотеки зависимостей проекта C++, поэтому я не могу изменить способ их компиляции.

Итак, мой вопрос: можете ли вы заставить приложение C# общаться с C++ DLL, когда эта DLL имеет зависимости, которые были скомпилированы с параметрами /MTd и EHsc?

0 ответов

Другие вопросы по тегам