找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8927|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

搞定stm32f10x_type.h(23): error: #256: invalid redecla Keil報錯

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:86860 發(fā)表于 2015-7-26 00:27 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
Keil報錯:d:\Keil  MDK4\ARM\INC\ST\STM32F10x\stm32f10x_type.h(23): error:  #256: invalid redecla

使用Keil4 MDK V4.10  
固件庫V3.5
按照教程建模板是發(fā)現(xiàn)編譯出現(xiàn)一大推這樣的錯誤:d:\Keil MDK4\ARM\INC\ST\STM32F10x\stm32f10x_type.h(23):error:  #256: invalid redecla等等

經(jīng)過不斷搜索網(wǎng)絡(luò)資源以及找尋錯誤原因,發(fā)現(xiàn)這樣錯誤的原因是:自己新建的工程文件里的函數(shù)如

和原本安裝目錄里的函數(shù)定義沖突了:

原本工程執(zhí)行的過程是不需要去訪問安裝目錄里的函數(shù)的,因?yàn)槲覀冃陆ǖ墓こ桃呀?jīng)將需要的固件庫都添加到我們的工程目錄里面了:







但是為什么編譯的時候又會跑去調(diào)用安裝目錄下的函數(shù)呢?那是因?yàn)槲覀儧]有把includepath路徑設(shè)置好,我們必須把我們工程目錄下的幾個目錄包含進(jìn)去:



包含進(jìn)去之后看看Compiler control string這里發(fā)現(xiàn)我們包含的路徑都在“D:\Keil MDK4\ARM\INC\ST\STM32F10x”安裝目錄的路徑之前,說明編譯的時候編譯器是現(xiàn)在我們包含的工程路徑里去找函數(shù)的,如果找到了就不會繼續(xù)往下找,找不到就會跑到安裝目錄也就是默認(rèn)的路徑去找,這樣就會造成重復(fù)包含和重定義了。

如果屢次遇到這樣問題的一定是includepath這里設(shè)置錯了的,一定仔細(xì)檢查,看看路徑名有沒有寫錯,這是一點(diǎn)小小經(jīng)驗(yàn)之談,寫出來給大家分享則個。

如有說錯,歡迎指正。如有新解,歡迎指教!
謝謝!!



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表