2010-09-03 33 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的東西嗎?