gpt4 book ai didi

c++ - Cmake 没有使用正确的 boost 库

转载 作者:行者123 更新时间:2023-11-28 06:59:34 33 4
gpt4 key购买 nike

我有两个版本的 boost:

  • 第一个(我猜是来自 xcode)的文件在 /usr/local/include/boost/usr/local/lib/boost

  • 第二个(来自自制软件)的文件位于/usr/local/Cellar/boost/1.54.0/include/boost/usr/local/Cellar/boost/1.54.0/lib

因为我想使用第二个,所以我调用 cmake 来创建我的 makefile 并以这种方式编译我的项目:

cmake -DBOOST_ROOT=/usr/local/Cellar/boost/1.54.0/ .
make

我得到这个错误:

/usr/local/include/boost/functional/hash/extensions.hpp:54:17: error: 
variable 'hash_value' declared as a template
std::size_t hash_value(std::list<T, A> const& v);
^

很明显,使用的 boost 版本不是我提到的使用 BOOST_ROOT 的版本。如何确保使用的 boost 版本是 /usr/local/Cellar/boost/1.54.0/ 中的版本?

提前致谢

最佳答案

我的猜测是您有另一个依赖项,需要在标志中使用 -I/usr/local/include/,并且 -I 标志可以被-I/usr/local/Cellar/boost/1.54.0/include 之前的编译器。

调试你的编译过程:

make VERBOSE=1

查看使用的编译命令。

关于c++ - Cmake 没有使用正确的 boost 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22682529/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com