我得到「未知類型名稱'uint8_t'」和其他人喜歡它在MinGW中使用C. 任何想法如何解決這個問題?未知類型名稱'uint8_t',MinGW
回答
要使用uint8_t
類型別名,您必須包含stdint.h
標準標題。
您需要#include
stdint.h
之前你#include
任何其他庫需要它的接口。
實施例:
我的LCD庫使用uint8_t類型。我用一個接口(Display.h
)和一個實現(Display.c
)
寫了我的庫。在display.c中,我有以下內容。
#include <stdint.h>
#include <string.h>
#include <avr/io.h>
#include <Display.h>
#include <GlobalTime.h>
這個工程。
不過,如果我重新安排他們像這樣:
#include <string.h>
#include <avr/io.h>
#include <Display.h>
#include <GlobalTime.h>
#include <stdint.h>
我讓你描述的錯誤。這是因爲Display.h
需要stdint.h
的東西,但無法訪問它,因爲在編譯Display.h之後編譯了這些信息。
因此,將stdint.h
移動到任何需要它的庫之上,並且不應再出現錯誤。
這只是糟糕的設計,'Display.h'應該包含'#include
這有點不完整。你能擴展或提供一個關於爲什麼include不應該在源文件中的參考嗎?我的包含不提供庫提供的函數所需的類型,所以我不認爲他們需要在頭文件中。 – LanchPad
只要您使用任何文件中的任何標題,就可以將該文件包含在源文件中。我沒有說你應該在頭文件中包含所有的文件(當然,我已經做了,但是在你回答之前已經編輯了很久)。在我的評論中,我只指出爲了使它工作而必須在另一個文件之前包含一個文件是多麼糟糕的設計。 它不會爲你節省任何空間或任何東西,因爲你需要在文件之前每次都做這個。如果你的'Display.h'需要'stdint.h',那麼不直接將include包含在其中。 – Jerska
- 1. 未知類型名稱 - 'DEV_BROADCAST_DEVICEINTERFACE'in MINGW
- 2. 未知類型名稱類
- 3. 未知類型名稱`socklen_t`
- 4. 未知類型名稱
- 5. 未知類型名稱AFJSONRequestOperation
- 6. 未知類型名稱
- 7. 未知類型名稱'UIImage'
- 8. 未知類型名稱NSURLSession
- 9. 未知類型名稱'IRsend'
- 10. 未知類型名稱
- 11. 未知類型名稱'RKObjectManager'
- 12. 未知類型名稱CPP
- 13. 未知類型名稱C
- 14. 未知類型名稱'UIBackgroundFetchResult'
- 15. 未知類型名稱'TransportViewController'
- 16. 未知類型名稱'名稱空間'
- 17. 知道的未知類型名稱?
- 18. XCode中未知類型名稱'using'
- 19. 未知類型名稱錯誤Qt C++
- 20. 錯誤:未知類型名稱「mxArray」
- 21. 錯誤:未知類型名稱「GtkObject」
- 22. 錯誤:未知類型名稱'pthread_mutex_t'
- 23. 錯誤:未知類型名稱「節點」
- 24. 未知類型名稱錯誤
- 25. 未知的類型名稱陣列
- 26. 未知類型名稱矢量
- 27. RestKit 0.10.2:未知類型名稱RKFetchedResultsTableController
- 28. C未知類型名稱'數據'
- 29. C++未知類型名稱模板 - Eclipse
- 30. ZeroMQ錯誤:未知類型名稱「zctx_t」
請張貼一些代碼。 –
是否包含'stdint.h'? – Necrolis