『壹』 Windows下編譯folly最新版v2023.07.1700
folly(Facebook開源庫),由Facebook工程師開發,旨在減少重復工作,對STL和Boost進行了擴展。它以可用性和高效性為核心,對組件開發尤為重要。庫中包括內存管理、FBString、FBVector的性能增強、多線程編程(線程池、Executor等)、哈希、JSON序列化與反序列化等功能,專注於性能優化,是高效組件庫。以下是編譯folly的步驟:
一、編譯環境說明
二、依賴庫說明
三、編譯過程
使用CMake生成Visual Studio 2019解決方案,通過命令行執行編譯。首先配置依賴庫至相應配置項。編譯腳本自動查找Visual Studio 2019,修改VCSDK版本號。填寫依賴庫路徑,如BOOST_ROOT。完成後,獲得Visual Studio 2019的解決方案文件。
四、編譯錯誤處理
1、遇到fatal error C1189時,通常由GLOG_NO_ABBREVIATED_SEVERITIES宏定義問題引起。只需在預定義中添加該宏即可解決。
2、error C2589與C++標准庫中的max或min沖突,通過預處理器定義NOMINMAX,或使用小括弧包圍以避免沖突。
3、error LNK2038涉及鏈接器檢測到「_ITERATOR_DEBUG_LEVEL」的不匹配。確保編譯和依賴庫版本一致,避免問題。
五、總結
編譯folly庫相對復雜,生成的lib庫體積大(114MB靜態庫)。需注意程序體量限制,按需裁剪。編譯過程中雖有小波折,但多數為小問題。有需要folly庫編譯結果的用戶,可關注同名GZH並回復「folly」獲取。