記錄C++ Builder 6.0開發過程當中的一個linker error

今天在開發的時候,原本好好的工程,忽然報出這樣的錯誤:網絡

[Linker Error] Unresolved external '__fastcall TMainForm::OnPort1Message(Messages::TMessage&)' referenced from D:\NEW\A\SHANXIJUNQUA_DEMO\MAIN.OBJ函數

由於以前開發相關的程序的時候一直用的是微軟的那一套的工具,這個也是最近才入手,因此不是很熟悉。因而就求助網絡,最後在[[Linker Error] Unresolved external怎麼解決][1] 中看到這樣的回覆:工具

就是說你聲明瞭該成員函數,可是卻沒有相應的定義,也就是實現ui

可是,個人過程裏面明顯是有這個函數的實現啊,那個函數我剛纔還在修改呢!到工程的編譯的文件下看了下,確實是沒有相關的文件的obj文件,因而我就想着我再打開這個文件看看,從新編譯下,這樣不是就解決了這個問題了嗎?.net

因而我就用C++ builder 6.0的好用的快捷鍵"CTRL+F12",將全部的代碼是是實現的模塊調出來,輸出那個函數所在的文件的名稱進行搜索,神奇的事情出現了:居然搜不到這個文件,如今明白了,是真的找不到這個文件啊,不出現這個錯誤纔怪呢!orm

接下來的解決方法就簡單了:在磁盤裏找到缺失的文件,選擇打開方式爲:C++ Builder。打開後在C++ Builder裏面:工程-->添加到工程(A)...,再編譯,就沒有上述的錯誤了。開發

PS:雖然問題解決了,可是不知道爲何莫名其妙我就把這個文件排除在了工程以外,多是個人某一個誤操做,或者是C++ Builder的bug吧? [1]: http://bbs.csdn.net/topics/80489739get

相關文章
相關標籤/搜索