Хорошо, прежде чем сказать, что я не могу этого сделать, давайте поговорим о том, что я могу сделать …
Я могу вызвать библиотеку C # из исполняемого файла C ++. (сделали это в этом проекте)
Я могу вызвать библиотеку C ++ из C. (Это не должно быть сюрпризом)
Таким образом, соединяя три этих кода с кодом C ++, вызывающим библиотеку C #, и кодом C, вызывающим одну и ту же библиотеку C ++, поток выполнения c захлебывается / падает на GSHandle (^). Кто-нибудь видел это? Помимо попыток прыгнуть по великому каньону, есть ли что-то, что я пропустил, что будет препятствовать этому когда-либо работать?
Мой код? … Хм работает библиотека C ++ из C # работает. Запуск библиотеки c ++ из c работает, если я удаляю все ссылки, используя мой класс c # и GCHandle (^). Я сохраню отбраковку кода для его представления здесь, пока я не расстроюсь еще больше … А теперь давайте скажем, что c ++ основан на проверенном ответе здесь: Как вызвать библиотеку C # из Native C ++ (используя C ++ \ CLI и IJW)
Я получил его на работу сейчас. Я не могу сказать однозначно, но подозреваю, что это была одна из трех возможностей.
1) C-код задыхался от класса, который я пытался использовать из C-кода. Я полностью удалил структуру класса из моей обертки c и использовал только функции. (Ясно, что я был далеко от c слишком долго.)
2) Код выдавал ошибку компоновщика при сборке в среде сборки компании.
3) сборки кода не были найдены для библиотеки.
Правда состоит в том, что все три пошли не так с моим кодом, и любой из них мог быть причиной сбоя.
Других решений пока нет …