2010-09-03 64 views
0

实际上我正在开发我们的Linux项目的Windows(MSYS/MinGW)迁移。随着Linux一切正常,但与Windows我遇到了静态成员和单身人士不得不在不同的dll上下文中使用的麻烦。如何在dll中使用静态成员和单身人士?

I.e.我有一个配置映射器,它是一个config.dll中的单例构建。如果我在不同的其他DLL中使用这个DLL,任何DLL都有它自己的实例。有没有办法分享这些DLL之间的单例访问?

我也在dll之间使用静态成员失败。如果我调用一个矢量类至极的静态成员被放置在math.dll从任何其他DLL我得到化妆时此消息:

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

Knowes任何人的解决方案? 最好的问候, 克里斯

回答

-1

一个DLL是一个库,如果你想共享配置数据,你将不得不映射在共享内存映射单例或使用其他一些RPC机制。你不会指望别人的电脑上的错误日志充满了你打印给stderr的东西吗?