Cmake没有使用正确的增强库

时间:2014-03-27 08:56:11

标签: c++ boost cmake

我有两个版本的提升:

  • 第一个(我猜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/libcmake -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}}?

中的版本

提前致谢

1 个答案:

答案 0 :(得分:1)

我的猜测是你在标志中有另一个需要-I/usr/local/include/的依赖项,并且-I之前编译器会看到-I/usr/local/Cellar/boost/1.54.0/include标志。

使用以下命令调试编译过程:

make VERBOSE=1

查看使用的编译命令。