天天看點

visual studio 中報LNK2019:WinMain各種符号被引用的問題的解決(win32控制台,應用程式)

  相信您已經嘗試過類似的解決方法:把vs項目中的連結器->系統->子系統改成視窗類型或者CONSOLE類型,當然,大部分的問題都可以通過這種方式解決,如果你的操作正确的話。

  就好像這種方法一樣:https://blog.csdn.net/yj574008854/article/details/45530453

  但是,有些人會發現解決不了自己的問題,比如我(在自學遊戲程式設計入門時按照書上使用代碼時報了如此的錯誤)。

  話不多說,言歸正傳。

  當我們發現以上及類似的解決方法無法解決我們的問題時,我們需要做一件事:先确定是否有對應的主函數,上述教程中寫的很清楚,WinMain,wWinMain,main,wmain,或者 _tmain等等。

  如果我們确定有這些,那麼到下一步。

  檢查自己的函數聲明。我們經常會有寫出 xx.h 和xx.cpp的檔案形式,h檔案放入函數的聲明和類定義,cpp檔案寫入類内成員函數的實作以及通用函數的實作,是以請檢查這些函數有沒有被完整定義。如果也有,請關閉這篇文章;如果沒有,請繼續向下看。

  當你發現,有些函數目前無法被完整定義時(比如在學習遊戲程式設計時,遊戲引擎中無法完全實作遊戲的開始、結束、循環等等),而希望在另一個不對應的檔案中定義這些函數時,就用到了我下面要說的了。

  extern   

  當你無法對某些函數進行完整定義時,在h檔案中把該函數用extern關鍵字聲明為外部檔案,然後在cpp檔案中再次聲明,而不加關鍵字,此時就已解決問題。

  但是,請不要馬上進行調試運作。因為你的函數仍舊是不完整的,如果想要進行調試,那麼請你在任何你想要的運作的檔案中補全這些函數的定義,然後運作。這篇文章就講到這裡,如果出現新的問題歡迎在評論區進行讨論。

繼續閱讀