1. <rp id="a8j9o"><object id="a8j9o"><input id="a8j9o"></input></object></rp>
    

    <button id="a8j9o"></button>
    <em id="a8j9o"></em>
    <rp id="a8j9o"></rp>
  2. 電子發燒友App

    硬聲App

    創作

    完善資料讓更多小伙伴認識你,還能領取20積分哦, 立即完善>

    3天內不再提示
    電子發燒友網>電子資料下載>嵌入式開發>STM32各種頭文件No such file or directory的解決方法資料下載

    STM32各種頭文件No such file or directory的解決方法資料下載

    2021-04-17 | pdf | 804.19KB | 次下載 | 免費

    資料介紹

    初學STM32經常學習會網上找的例程,或是買的開發板帶的例程等等,經常在編譯的時候遇到..\User\stm32f10x_it.c(26): error: #5: cannot open source input file "stm32_eval_sdio_sd.h": No such file or directory等等,打不到某個頭文件的編譯錯誤。而網上大多數都會提到是工程設置的問題,路徑設置不正確,無法找到文件等等。因為這個小問題也折騰了些時間,現在頭腦還算清醒,記錄下來。1.首先,一定要清晰的了解工程設置路徑的含義,為什么要設置這個路徑而不是別的?出于什么原因設置的?答:工程設置的路徑是在搜索*.h文件。下圖是我的工程路徑,其中User文件夾是用來存放我自己需要編寫或修改的文件。我們再看來一下User路徑下的文件。其中3個.c文件和2個.h文件都是在官方庫的STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples\SDIO路徑下復制過來的。STM32_EVAL存放著從官方庫里邊復制過來的stm32_eval.cstm32_eval.hstm32_eval_sdio_sd.cstm32_eval_sdio_sd.hstm3210e_eval.cstm3210e_eval.h共6個文件。我們先不管這個文件夾。此時編譯,會提示..\User\stm32f10x_it.c(26): error: #5: cannot open source input file "stm32_eval_sdio_sd.h": No such file or directory..\User\main.c(24): error: #5: cannot open source input file "stm32_eval_sdio_sd.h": No such file or directory如下圖:仔細觀察會發現,是stm32f10x_it.c和main.c提示找不到stm32_eval_sdio_sd.h。那為什么是這兩個文件提示呢?我們觀察到在main.c和stm32f10x_it.c的最上方都引用了stm32_eval_sdio_sd.h這個頭文件,見下圖:哦,原來是.c文件引用.h文件,而找不到.h文件就會報錯。stm32f10x_it.c還引用了stm32f10x_it.h了呢?那為什么不報錯呢?原因見下圖:在User路徑內我們存放著stm32f10x_it.h,stm32f10x.c能夠找到stm32f10x.h所以就不報錯。stm32f10x_it.c引用了stm32f10x.h和stm32_eval_sdio_sd.h。那為什么能夠找到stm32f10x.h而找不到stm32_eval_sdio_sd.h呢?終于引到正題了。這就是我要說的工程設置選項卡C++/C++中include path如何設置的問題了。下圖是目前的設置:從上圖可以看到,我們搜索了User目錄,而stm32f10x_it.h即存放在該目錄下,因此能夠搜索到。而我把stm32_eval_sdio_sd.h存放在STM32_EVAL目錄內,故搜索不到該文件。所以解決辦法就是添加STM32_EVAL這個路徑。我們再編譯,可以看到上述提示已經解決了。3.這引申出另一個問題來,依然和工程設置有關,我們繼續。仔細觀察,編譯stm32f10x_it.c這個文件時提示\User\STM32_EVAL\stm32_eval.h找不到stm3210e_eval/stm3210e_eval.h。編譯main.c這個文件時提示\User\STM32_EVAL\stm32_eval.h找不到stm3210e_eval/stm3210e_eval.h。原因是這兩個文件都引用了"stm32_eval_sdio_sd.h",而"stm32_eval_sdio_sd.h"又引用了stm32_eval.h。stm32_eval.h提示找不到stm3210e_eval/stm3210e_eval.h。為什么是這樣呢?我們在stm32_eval.h看到了如下代碼:它的含義是相對于stm32_eval.h這個文件,到stm3210e_eval目錄內去找stm3210e_eval.h這個文件。顯然我沒有stm3210e_eval這個路徑,因為我是把stm32103_eval.h和stm32_eval.h放在同一個路徑下的,都放在了STM32_EVAL這個路徑內。所以,也找不到stm3210e_eval.h。知道問題原因了,也就知道如何解決了。2個辦法:1.創建\User\STM32_EVAL\stm3210e_eval這個路徑,把stm3210e_eval.h存放在此。并且在include path中添加..\User\STM32_EVAL\stm3210e_eval即可。2.將代碼修改為#include "stm3210e_eval.h"也可。通常我用第2種方法,目錄結構簡單一些。(mbbeetchina)
    下載該資料的人也在下載 下載該資料的人還在閱讀
    更多 >

    評論

    查看更多

    下載排行

    本周

    1. 1音箱制作過程圖解
    2. 16.81 MB  |  21次下載  |  免費
    3. 2電路的基礎知識PPT
    4. 4.48 MB  |  8次下載  |  1 積分
    5. 3電路學習指導與習題分析
    6. 5.15 MB  |  4次下載  |  免費
    7. 4集裝箱怎么防腐
    8. 0.27 MB  |  4次下載  |  免費
    9. 5電源仿真技術
    10. 23.16 MB  |  4次下載  |  2 積分
    11. 6Lablin嵌入式Linux系統
    12. 2.05 MB  |  3次下載  |  免費
    13. 7seL4操作系統內核
    14. 2.00 MB  |  3次下載  |  免費
    15. 8openwrt節點包插件
    16. 0.31 MB  |  3次下載  |  免費

    本月

    1. 1UC3842充電器電路圖
    2. 0.29 MB  |  83次下載  |  免費
    3. 250個典型經典應用電路圖免費下載
    4. 2.39 MB  |  63次下載  |  免費
    5. 3中科藍訊AB32VG1開發實踐指南
    6. 13.02 MB  |  60次下載  |  5 積分
    7. 4硬件工程師口袋參考書
    8. 5.47 MB  |  57次下載  |  免費
    9. 5STM32系列產品選型手冊
    10. 6.15 MB  |  51次下載  |  免費
    11. 6WG593系列工業智能網關產品規格書
    12. 1.20 MB  |  43次下載  |  免費
    13. 7H81H3-LM_1150精英圖紙免費下載
    14. 1.82 MB  |  36次下載  |  免費
    15. 8RTL8189原理圖免費下載
    16. 0.68 MB  |  35次下載  |  免費

    總榜

    1. 1matlab軟件下載入口
    2. 未知  |  934933次下載  |  免費
    3. 2protel99se軟件下載(可英文版轉中文版)
    4. 78.1 MB  |  537533次下載  |  免費
    5. 3MATLAB 7.1 下載 (含軟件介紹)
    6. 1331200  |  419915次下載  |  免費
    7. 4OrCAD10.5下載,OrCAD10.5中文版軟件
    8. 817182  |  233915次下載  |  免費
    9. 5Altium DXP2002下載入口
    10. 未知  |  232918次下載  |  免費
    11. 6數據采集系統基礎知識視頻
    12. 16.3 MB  |  192989次下載  |  免費
    13. 7電路仿真軟件multisim 10.0免費下載
    14. 340992  |  190921次下載  |  免費
    15. 8十天學會AVR單片機與C語言視頻教程 下載
    16. 158M  |  183113次下載  |  免費
    版權所有 © 深圳華秋電子有限公司 電子發燒友電路圖粵公網安備 44030402000349號 電信與信息服務業務經營許可證:粵B2-20160233 工商網監認證工商網監 粵ICP備14022951號