背景
編譯安裝 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