背景
编译安装 GENIVI 的 vsomeip,发现依赖 boost,于是直接去官网 https://www.boost.org/users/download/ 下载了最新的 boost 1.76.0
问题
boost 的编译安装一切顺利,但是在编译安装 vsomeip 的时候才发现最新的 vsomeip 3.1.20.3 只支持 boost 1.74.0。 编译的时候直接报错:
fatal error: boost/asio/ip/udp_ext.hpp: No such file or directory
尝试解决
1. 重新下载 boost 1.74.0,编译安装
问题依旧
2. 手动删除安装的头文件和库
sudo rm -f /usr/local/lib/libboost*
sudo rm -rf /usr/local/include/boost
发现运行 vsomeip cmake 时仍然提示
ERROR "boost version 107600 is not (yet) supported. Latest supported version is 1.75.0"
3. 删除 /usr/local/lib/cmake 中残留文件
明明已经删除了 boost 1.76.0 的头文件和库,为什么 cmake 还是能找到 boost 1.76.0?
搜索整个 /usr
目录,结果在 /usr/local/lib/cmake
发现一些 boost 1.76.0 的残留文件。
sudo rm -rf /usr/local/lib/cmake/*-1.76.0*
执行完毕之后,删除 vsomeip 的 build 目录,重新编译安装,搞定。
原文地址
https://www.cnblogs.com/tengzijian/p/15057379.html