關(guān)于我們
18925580829
13926563901
發(fā)布時間:2018-04-03 瀏覽量:
Duplicate definitions從字面上看就是重復定義的意思。
那么,為什么會出現(xiàn)這個問題呢?原因就是多個文件定義全局變量的時候一個變量的定義間接地出現(xiàn)在了多個地方。
下面詳細說一下出現(xiàn)錯誤的原因吧!
我在下面的頭文件中定義了一個全局變量flag.
然后我把它包含在主文件中:
這樣,flag在文件stm32f4xx_it.h中定義了一次,然后被main.c包含進來,又被定義了一次,所以就出現(xiàn)錯誤。
下面說說怎么解決這個錯誤吧!
首先,要知道的是全局變量的定義要放在.c文件里而不是.h(頭文件)中。同時刪除頭文件中變量的定義。
同時在.h(頭文件)中說明變量一下為extern,不然編譯的時候會出現(xiàn)未定義錯誤。(注意:這里說明變量的時候不能再給他賦值,會出錯。)
這樣,錯誤就化解了。希望能幫到大家。