錯誤現象
新建 Cocos2d-x 項目編譯失敗,錯誤提示缺少 `std::min`、`std::max` 等算法函數定義。
解決方案
在報錯文件(通常為 `platform/CCPlatformMacros.h` 或預編譯頭 `pch.h`)頂部添加:
#include <algorithm>
原因
- Cocos2d-x 代碼使用了 `std::min`、`std::max`、`std::swap` 等 STL 算法。
- VS2013 標準庫要求**顯式包含 ``**,不像 GCC 會隱式包含。
- 部分舊版 Cocos2d-x 預編譯頭未包含此頭文件,導致編譯錯誤。
驗證
添加後重新編譯,錯誤消失,項目正常運行。
一行 `#include ` 即可修復 VS2013 下 Cocos2d-x 缺少算法頭文件的編譯錯誤。