‘壹’ 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”获取。