• 歡迎光臨東莞市飛江電子科技有限公司官網!
    全國咨詢熱線

    13926563901

    18925580829

    飛江淘寶店鋪

    首頁>技術資料>51單片機

    IAR 連接源文件時出現duplicate definitions錯誤

    發布時間:2018-04-03   瀏覽量:

    Duplicate definitions從字面上看就是重復定義的意思。

    那么,為什么會出現這個問題呢?原因就是多個文件定義全局變量的時候一個變量的定義間接地出現在了多個地方。

    下面詳細說一下出現錯誤的原因吧!

    我在下面的頭文件中定義了一個全局變量flag.

    然后我把它包含在主文件中:

    這樣,flag在文件stm32f4xx_it.h中定義了一次,然后被main.c包含進來,又被定義了一次,所以就出現錯誤。

    下面說說怎么解決這個錯誤吧!

    首先,要知道的是全局變量的定義要放在.c文件里而不是.h(頭文件)中。同時刪除頭文件中變量的定義。

    同時在.h(頭文件)中說明變量一下為extern,不然編譯的時候會出現未定義錯誤。(注意:這里說明變量的時候不能再給他賦值,會出錯。)

    這樣,錯誤就化解了。希望能幫到大家。

     

    黑人粗大无码AV人妻一区