[問題] Singleton 與 DLL

看板C_and_CPP作者 (acer)時間16年前 (2009/07/12 15:11), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/2 (看更多)
二話不說 例子先來 // obj.h class __declspec(dllexport) other{}; typedef Loki::SingletonHolder< other > Other; class __declspec(dllexport) Obj { void UsingOtherSingleton(); }; typedef Loki::SingletonHolder< Obj> SingleObj; // obj.cpp void Obj::UsingOtherSingleton() { Other::Instance(); } // main.cpp #include "obj.h" int main() { SingleObj::Instance(); return 0; } 問題出在使用 VS 2008 link 的時候會出現 unresolved symbol 似乎是 Loki::LongevityLifetime 裡的 class 沒辦法找到 自己有寫過另一個 Singleton 在內部並未使用其他 Singleton 就沒有遇上這種問題 請問各方高手有無方法可解決阿 ~~? 我自己是有想過要把 template 明確宣告來 export singleton 不過像 Loki::Factory 這種也要套 Singleton 的 pattern 就有點不知如何著手 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.140.23 ※ 編輯: adxis 來自: 60.244.140.23 (07/12 23:12)

07/13 09:18, , 1F
LongevityLifetime 不是singleton,只是管理生命週期用的
07/13 09:18, 1F

07/13 09:18, , 2F
我猜你的 link error 是需要一些 pre-build library
07/13 09:18, 2F

07/13 09:19, , 3F
loki 的確有些要 pre-build,翻一下文件吧
07/13 09:19, 3F

07/13 15:45, , 4F
恩 我知道Singleton跟SmallObj需要 已經有build了咧0rz
07/13 15:45, 4F

07/13 16:41, , 5F
可是你都沒貼錯誤訊息,要人家怎麼幫
07/13 16:41, 5F

07/14 13:10, , 6F
感謝樓上 問題解決囉 有回文~
07/14 13:10, 6F
文章代碼(AID): #1AMVqCin (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1AMVqCin (C_and_CPP)