我有两个版本的提升:
第一个(我猜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 -DBOOST_ROOT=/usr/local/Cellar/boost/1.54.0/ .
make
由于我想使用第二个,我调用cmake来创建我的makefile并以这种方式编译我的项目:
/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_ROOT
显然,使用的升级版本不是我使用/usr/local/Cellar/boost/1.54.0/
提到的版本。如何确保使用的boost版本是{{1}}?
提前致谢
答案 0 :(得分:1)
我的猜测是你在标志中有另一个需要-I/usr/local/include/
的依赖项,并且-I
之前编译器会看到-I/usr/local/Cellar/boost/1.54.0/include
标志。
使用以下命令调试编译过程:
make VERBOSE=1
查看使用的编译命令。