1. 程式人生 > >keil 安裝ADS後編譯出錯

keil 安裝ADS後編譯出錯

今天拿到STM32F103RCT6最小系統板,看到文件介紹之後就開始第一步除錯,剛好我身邊有ulink除錯工具,拿到了之後網上找了一番資料之後,最後通過安裝MDK5之後自動安裝了ulink的驅動,加入開發板的例項led燈之後可以執行,可是,剛剛修改好之後編譯就報錯了: linking...
.\Obj\prj.axf: Warning: L6373W: libattrs.map file not found in System Library directory C:\Program Files\ARM\ADSv1_2\LIB\armlib\. Library selection may be impaired.
.\Obj\prj.axf: Warning: L6310W: Unable to find ARM libraries.
.\Obj\prj.axf: Error: L6411E: No compatible library exists with a definition of startup symbol __main.

Target not created 安裝網上一些人提供的方法去做 以前使用arm的時候 安裝了ADS的軟體,所以出現了問題,但是解除安裝了該軟體後還是不能編譯
原因在於需要把環境變數刪除才可以的
我的電腦->屬性->高階-環境變數-path裡面把d:\Program Files\ARM\ADSv1_2\bin;相似的這句話給刪除了就可以了
可是最後又出現了新的問題C:\MDK\ARM\CMSIS\Include\core_cm3.h(120): error: #5: cannot open source input file "stdint.h。 後來我就在MDK5.0的安裝目錄下搜尋"stdint.h"檔案發現有這個檔案,這就非常怪異了.。。
後來看到編譯器可能是因為標頭檔案的原因,跟路徑有關。就在keil的target裡面加入了剛剛找到了MDK5.0裡面的路徑D:\Program Files\keil\Keil_v5\ARM\ARMCC\include。最後還是出錯,cannot found。當時很是無語,

最後思考了一下環境變數的問題,可能是把該路徑加入到系統環境變數path裡面(前提是要把之前那個ADS的環境變數刪除),

編譯器就會從這裡面去找了,結果真的編譯通過了。。大功告成!

還有個方法是新建  變數名為ARMCC5LIB   變數值為C:\Keil\ARM\ARMCC\lib(你keil路徑決定)  也能解決