我正在尝试在 Ubuntu 22.04 上从源代码安装 Boost 1.65。这工作正常,库按预期安装到 /usr/local/lib 中。但是,当我使用 find_boost 在我的项目上运行 CMake 时,CMake 给出了一个关于 boost 库的错误,而这些库显然存在于 /usr/lib 中。
CMake Warning at src/CMakeLists.txt:424 (add_library):
Cannot generate a safe linker search path for target clcsim_models because
files in some directories may conflict with libraries in implicit
directories:
link library [libboost_regex.so] in /usr/lib may be hidden by files in:
/usr/local/lib
link library [libboost_program_options.so] in /usr/lib may be hidden by files in:
/usr/local/lib
link library [libboost_filesystem.so] in /usr/lib may be hidden by files in:
/usr/local/lib
link library [libboost_thread.so] in /usr/lib may be hidden by files in:
/usr/local/lib
这很奇怪,因为我可以进入 /usr/lib 并发现没有 boost 库。即使使用locate boost | fgrep .so,它也只会显示 usr/local/lib 中的库(应该如此)。我也尝试过 sudo updatedb。我尝试使用 apt 重新安装 boost,然后使用 apt 卸载。不确定为什么 CMake 认为这些库仍然存在于 /usr/lib 中