1. 出現原因分析
Undefined reference to 錯誤:這類錯誤是在連接過程中出現的,可能有兩種原因∶
(1)是使用者自己定義的函數或者全局變量所在源代碼文件,沒有被編譯、連接;
(2)干脆還沒有定義,這需要使用者根據實際情況修改源程序,給出全局變量或者函數的定義體。
2. 解決方案
最近使用Qt進行開發,出現了多條 Undefined reference to 報錯的問題。我使用了extern來擴展變量的使用域,我在mainwindow.h中對變量進行聲明,而在另 外的用到該變量的兩個文件進行使用,但是忘記加入對變量的定義導致出錯。這種出錯原因是上述的第(2)種。
因此:
在使用到該變量的.c或者.cpp文件中,以extern int Name;聲明該變量。
在需要對該變量賦值的.c或者.cpp文件中,以int Name定義該變量。