У меня был код C ++, скомпилированный в DLL на Ubuntu. Затем я также назвал это с помощью C # в Ubuntu. Все работало великолепно. Затем ту же C ++ DLL, которую я кросс-компилировал для Windows, используя MSYS2 / MING64
Теперь, каждый раз, когда я использую один и тот же код C # для его вызова, я получаю:
The program '[1140] Textpr.exe' has exited with code -1073741819 (0xc0000005) 'Access violation'.
И это сводит меня с ума. У меня нет трассировки стека, отмечая, что мое тестовое консольное приложение C # просто существует. Код работал на Ubutu просто отлично, может ли быть так, что для Windows требуется что-то дополнительное, например, другие правила Marshalling или что-то в этом роде? Как это отладить? У меня не может быть отладочных символов dll, так как mingw не может собрать их для окон. Есть другие идеи?