2011-08-15 64 views
1

我已經重構了一些標題包括,和所有突然我留下這(改變了一些命名空間和類名)連接錯誤:C++鏈接錯誤缺少的GetTickCount以及如何調試

Error 1 error LNK2001: unresolved external symbol "public: class ABC::DEF::JKL __thiscall ABC::GHI::GetTickCount(void)const " ([email protected]@[email protected]@[email protected]@[email protected]) Server.obj 

的東西是,我的代碼中沒有一個GetTickCount的引用。我做了一些乾淨的重建,無濟於事。

下一步調試該怎麼辦?有沒有機會找出違規線路?從上面的消息看來,如果有問題的項目在服務器編譯單元中,是否有可能進一步縮小它?爲什麼我甚至會得到一個我從未參考過的未解析的外部符號?

感謝

+0

東西被從文件中創建一個名爲'server.obj'是在連接類具有功能''ABC :: DEF :: JKL'的GetTickCount ()'被調用。這並不一定意味着它是你的一個類,特別是如果你使用任何第三方庫。你能發佈確切的錯誤,和/或更多的代碼? – Chad

+0

這是確切的錯誤,ABC :: DEF :: JKL是我的類,並且絕對沒有GetTickCount()函數。外部庫僅限於提升。 – Cookie

回答

3

沒關係,WINBASE.H是如此漂亮,以

#define GetCurrentTime() GetTickCount() 
+3

是的,Windows標頭很煩人。有史以來最惡劣的宏。 –

+0

@Cookie:那麼解決方案是什麼?你有沒有重新命名你的'GetCurrentTime()'函數? – User

+0

@用戶:的確,我剛剛重新命名了它。或者,我可以只是未定義窗口的定義。 – Cookie

0

看起來這是你的代碼的發佈版本。在調試模式下重建它,並且鏈接器應該告訴你Server.obj中未解析外部的確切行數。