看板 C_and_CPP 關於我們 聯絡資訊
二話不說 例子先來 // 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)
avhacker:LongevityLifetime 不是singleton,只是管理生命週期用的 07/13 09:18
avhacker:我猜你的 link error 是需要一些 pre-build library 07/13 09:18
avhacker:loki 的確有些要 pre-build,翻一下文件吧 07/13 09:19
adxis:恩 我知道Singleton跟SmallObj需要 已經有build了咧0rz 07/13 15:45
avhacker:可是你都沒貼錯誤訊息,要人家怎麼幫 07/13 16:41
adxis:感謝樓上 問題解決囉 有回文~ 07/14 13:10