Как вы можете заставить приложение 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?

1

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]