Я работаю над консольным приложением wxWidgets, которое я хочу вызывать = из C# DLL через CLR. К сожалению, приложение икает в коде инициализации приложения wxWidgets из-за сбоя OleInitialize. Ошибка, которую я вижу, представляет собой всплывающее окно с простым сообщением «Не удается инициализировать OLE».
Кажется, что этой проблемы обычно избегают, устанавливая стиль квартиры для потоков, применяя директиву к точке входа приложения, но я действительно борюсь с тем, какую точку входа я ищу. Мой код C# представляет собой DLL: конкретной точки входа нет. Код, скомпилированный с помощью /CLR, существует в .lib, который связан с моим приложением wxWidgets. wxWidgets фактически определяет WinMain в своем коде и позволяет мне переопределять поведение посредством реализации wxApp.
Другие предложения включают отключение поддержки OLE в wxWidgets, но в моем выпуске 2.8.6 установка wxUSE_OLE, wxUSE_CLIPBOARD, wxUSE_DATAOBJ, wxUSE_DRAG_AND_DROP на 0 создает неразрешенные внешние объекты при компиляции wxWidgets.
Наслаждайтесь сталкивался с этим раньше и нашел эффективную работу вокруг? Может ли кто-нибудь дать какие-либо разъяснения о том, какую точку входа мне нужно изменить?