我正在閱讀lazyfoo.net上的SDL 2教程的教程33(源代碼位於頁面底部的http://lazyfoo.net/tutorials/SDL/33_file_reading_and_writing/index.php處),並且出現編譯器錯誤「_Longlong was was未在此範圍內聲明「。我在Codeblocks 16.01中使用g ++版本5.3。我能做些什麼來解決這個構建錯誤?_Longlong未在此範圍內聲明
1
A
回答
1
這就好比錯誤(不便攜式編碼)的例子,如https://forums.libsdl.org/viewtopic.php?p=42648在2015年報道jungletek:
我張貼這種在同一個問題一個新的線程,它是可悲的 人從來沒有跟進他們的解決方案在互聯網上...
Quote:我相信這是一個MinGW的錯誤(更新MinGL到 一個較新的版本),和一個錯誤/錯誤(?)與Lazy Foo的代碼。
將'_Longlong'的所有實例更改爲'long long'會導致代碼 正確編譯,並且可執行文件似乎按預期執行, 據我所知。如果任何人都可以告訴我,如果這是以某種方式 一個不正確的解決方案,我很樂意聽到它,因爲我仍然非常在 學習的過程。
此外,請確保您正在爲C++ 11標準編譯,使用 正確的編譯器標誌。
所以,你可以嘗試添加符合的typedef _Longlong
(_Longlong第一次使用前)爲long long
(都是在許多平臺上的64個整數):
typedef long long _Longlong;
而且_Longlong
聽起來太就像華盛頓雷德蒙德的something from沙漠一樣,它不是gcc編譯器的主要目標。
相關問題
- 1. SDL_Window未在此範圍內聲明
- 2. 函數「未在此範圍內聲明」
- 3. 't'未在此範圍內聲明
- 4. 克++ STOD「在此範圍內未聲明
- 5. 'createStereoBM' 在此範圍內未聲明
- 6. 未在此範圍內聲明錯誤
- 7. 數組未在此範圍內聲明
- 8. faceRecognizer未在此範圍內聲明
- 9. ''未在此範圍內聲明
- 10. C++ INT32_MAX未在此範圍內聲明
- 11. ndk-build'JNI_CreateJavaVM'未在此範圍內聲明
- 12. glWindowPos2i未在此範圍內聲明
- 13. 'SalesTaxPct'未在此範圍內聲明
- 14. myClass未在此範圍內聲明
- 15. Qt QOpenGLFunctions未在此範圍內聲明
- 16. 'y'未在此範圍內聲明,
- 17. 'c'未在此範圍內聲明
- 18. 'string'/'cin'未在此範圍內聲明
- 19. 未在此範圍內聲明'sm'
- 20. 'MSHookIvar'未在此範圍內聲明
- 21. 'TRUE'未在此範圍內聲明C++
- 22. C++:[class]未在此範圍內聲明
- 23. 'variantToString'未在此範圍內聲明
- 24. '搜索'未在此範圍內聲明
- 25. insertAsFristElement未在此範圍內聲明
- 26. 'sqlite3_api'未在此範圍內聲明
- 27. cvSaveImage未在此範圍內聲明?
- 28. '未在此範圍內聲明'錯誤
- 29. g ++'nullptr'未在此範圍內聲明
- 30. _Dist_type未在此範圍內聲明