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還未定義,所以導致編譯不過。
相關文章
- ipvs編譯錯誤編譯
- 你會犯這些 Go 編碼錯誤嗎(二)?Go
- opencv 編譯常見錯誤OpenCV編譯
- 工程師犯的最大錯誤?工程師
- IDEA報錯java: 編譯失敗: 內部 java 編譯器錯誤IdeaJava編譯
- PHP編譯安裝時常見錯誤解決辦法,php編譯常見錯誤PHP編譯
- 開發時犯得小錯誤
- 9 條 PHP 程式設計小知識及易犯的小錯誤PHP程式設計
- 專案編譯報錯編譯
- 這些常見的 Go 編碼錯誤,你犯過嗎(一)?Go
- AndroidStudio之NDK常見編譯錯誤Android編譯
- path_provider 編譯錯誤指導IDE編譯
- Idea編譯錯誤解決辦法Idea編譯
- Java初學者容易犯哪些錯誤?Java
- macOS小白容易犯的24個錯誤Mac
- Android編譯通過,執行編譯錯誤問題總結Android編譯
- xcode6編譯錯誤,提示Expected a typeXCode編譯
- [Python]批量編譯pyc檔案Python編譯
- go新手容易犯的三個致命錯誤Go
- 使用 Kubernetes 最容易犯的 10 個錯誤!
- 很多人容易犯的面試錯誤面試
- PHP編譯configure時常見錯誤,和PHP7.1.4 編譯安裝PHP編譯
- Ubuntu上的pycrypto給出了編譯器錯誤Ubuntu編譯
- Docker環境編譯時的錯誤記錄Docker編譯
- 精讀《手寫 SQL 編譯器 - 錯誤提示》SQL編譯
- Lombok 的@ToString導致的Maven編譯錯誤LombokMaven編譯
- flutter庫【path_provider】編譯錯誤指導FlutterIDE編譯
- Python檔案讀寫--錯誤一Python
- Java初學者容易犯的程式碼錯誤Java
- Python最容易犯的錯誤,一定要警惕!Python
- Android-ffmpeg編譯so檔案Android編譯
- c語言多檔案編譯C語言編譯
- 升級Xcode10導致的編譯錯誤XCode編譯
- C++編譯錯誤的正確查詢方式C++編譯
- 求助,.NET反編譯有兩萬多個錯誤編譯
- [求教] jmeter5.3 原始碼編譯報 autostyleKotlinCheck 錯誤JMeter原始碼編譯Kotlin
- Win10下Qt+OpenCV+Cmake編譯錯誤Win10QTOpenCV編譯
- Java 開發者最容易犯的10個錯誤Java