使用 cmake 编译跨平台的开源框架,遇到 cmake 编译出错,主要报错是 FindBoost.cmake
通过各种输入日志(message),发现有几个地方需要注意,现记录下来
#需要修改成自己的boost版本
set(RDK_BOOST_VERSION "1.75.0")
#设置路径,可以参考FindBoost.cmake文件的说明
set(BOOST_ROOT "E:/boost_1_75_0")
set(BOOST_INCLUDEDIR "E:/boost_1_75_0")
set(BOOST_LIBRARYDIR "E:/boost_1_75_0/stage")
#打开调试,方便查看问题
set(Boost_DEBUG 1)
#设置前缀为lib,也可以设置Boost_USE_STATIC_LIBS为ON
set(Boost_LIB_PREFIX "lib")
搞了一上午,一直报错,最后发现是没有设置Boost_USE_STATIC_LIBS,或者Boost_LIB_PREFIX导致的。
2021/7/26:
后来发现boost 编译后,有生成BoostConfig.cmake文件,所以,只需要设置对 BOOST_ROOT后,cmake自动通过 boostConfig.cmake来设置。
如果是本机编译的boost,生成的路径为 ./stage,那么设置环境变量BOOST_ROOT 为 stage 目录,或者在自己的 cmake文件中,添加 BOOST_ROOT配置也行