Include檔案易犯編譯錯誤
在cms.h檔案中新增結構體變數後,編譯總是報include檔案編譯錯誤,如下:
In file included from /.../public/include/cms_other.h:41:0,
from /.../public/include/linux/os_common.h:43,
from vlanctl_api.c:57:
/.../public/include/cms.h:508:4: error: unknown type name ‘UBOOL8’
/.../public/include/cms.h:509:4: error: unknown type name ‘UBOOL8’
from /.../public/include/linux/os_common.h:43,
from vlanctl_api.c:57:
/.../public/include/cms.h:508:4: error: unknown type name ‘UBOOL8’
/.../public/include/cms.h:509:4: error: unknown type name ‘UBOOL8’
問題真相:
cms.h中增加的變數有用到UBOOL8,其在os_common.h中的封裝定義,
故cms.h檔案開頭新增如下標頭檔案引入:
#include "os_common.h"
os_common.h檔案開頭有新增引入標頭檔案cms_other.h, 並在後面定義UBOOL8:
#include "cms_other.h"
....
....
typedef uint8_t UBOOL8;
cms_other.h檔案中又有引入標頭檔案cms.h:
#include "cms.h"
問題關鍵就在這裡,該處迴圈重複引用的cms.h中的UBOOL8還未定義,所以導致編譯不過。
相關文章
- Bash程式設計易犯的錯誤程式設計
- 易犯的PHP小錯誤及相應分析PHP
- 資料探勘中易犯的10大錯誤
- Web開發者易犯的五大嚴重錯誤Web
- VS 編譯錯誤編譯
- 十個Python程式設計師易犯的錯誤Python程式設計師
- C# 程式設計師易犯的 10 個錯誤C#程式設計師
- 十個JavaScript中易犯的小錯誤,你中了幾槍?JavaScript
- 軟體開發團隊主管易犯的10個錯誤
- 你會犯這些 Go 編碼錯誤嗎(二)?Go
- ipvs編譯錯誤編譯
- php編譯小錯誤PHP編譯
- 編譯PHP的錯誤編譯PHP
- opencv 編譯常見錯誤OpenCV編譯
- 最近編譯tolua_runtime安卓編譯錯誤編譯安卓
- 9 條 PHP 程式設計小知識及易犯的小錯誤PHP程式設計
- 機器學習入門階段程式設計師易犯的5個錯誤機器學習程式設計師
- 創業團隊易犯的十個使用者體驗錯誤創業團隊
- benq,我下了signup,編譯的時候明明編譯了Mysql.java,但在編譯別的檔案時老提示如下錯誤:ENQ編譯MySqlJava
- 經典的編譯錯誤 (轉)編譯
- 編譯專案時出現的錯誤 線上等回覆編譯
- #include 檔案狀態
- 包含檔案(Include file)
- HTML檔案中IncludeHTML
- Java初學者容易犯哪些錯誤?Java
- 工程師犯的最大錯誤?工程師
- 開發時犯得小錯誤
- PHP編譯安裝時常見錯誤解決辦法,php編譯常見錯誤PHP編譯
- 專案編譯報錯編譯
- 這些常見的 Go 編碼錯誤,你犯過嗎(一)?Go
- IDEA報錯java: 編譯失敗: 內部 java 編譯器錯誤IdeaJava編譯
- 當心!程式設計師在職業生涯中最易犯的7個錯誤程式設計師
- 編譯錯誤,請教一下!編譯
- gcc編譯cpp檔案GC編譯
- macOS小白容易犯的24個錯誤Mac
- 很多人容易犯的面試錯誤面試
- Android編譯通過,執行編譯錯誤問題總結Android編譯
- Idea編譯錯誤解決辦法Idea編譯