Как использовать статические члены и синглтоны в DLL? - PullRequest
0 голосов
/ 03 сентября 2010

На самом деле я работаю над миграцией Windows (MSYS / MinGW) нашего проекта Linux.С Linux все работает нормально, но с окнами у меня возникли проблемы со статическими членами и синглетами, которые должны использоваться в контексте различных библиотек.config.dll.Если я использую эту DLL внутри отличается от других DLL, у любой DLL есть свой экземпляр.Есть ли способ разделить доступ синглтона между этими DLL?

Я также получил ошибку при использовании статических членов между DLL.Если я вызываю статический член векторного класса, который помещается в math.dll из любого другого DLL, я получил это сообщение во время make:

Linking CXX shared library ../../lib/libbrGraphics.dll
Info: resolving binrev::brMath::brVector3f::NEGATIVE_UNIT_Z      by linking to   
__imp___ZN6binrev6brMath10brVector3f15NEGATIVE_UNIT_ZE (auto-import)

Кто-нибудь знает решение?С наилучшими пожеланиями, Крис

1 Ответ

0 голосов
/ 03 сентября 2010

DLL - это библиотека, если вы хотите поделиться данными конфигурации, вам придется сопоставить синглтон на карте общей памяти или использовать какой-либо другой механизм RPC. Вы не ожидаете, что журнал ошибок на чужом компьютере будет заполнен тем, что вы печатаете в stderr, не так ли?

...