错误 cmath '::cos' 尚未声明

错误 cmath '::cos' 尚未声明

我正在尝试在 Ubuntu 上安装 opencv。我已经下载了 opencv 3.1 并执行以下操作:

mkdir build
cd build/
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_CUBLAS=ON -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" ..

但是当我尝试使用make它时会出现以下错误:

/usr/include/x86_64-linux-gnu/bits/mathcalls.h:63:16: error: expected constructor, destructor, or type conversion before ‘(’ token
 __MATHCALL_VEC (cos,, (_Mdouble_ __x));

或者

/usr/include/c++/5/cmath:199:11: error: ‘::cos’ has not been declared

等等....

我认为出了问题math,因为错误从这里开始:

>     In file included from /home/hadi/anaconda/include/math.h:71:0,
>                      from /usr/include/c++/5/cmath:44,
>                      from /home/hadi/opencv-3.1.0/modules/core/include/opencv2/core/cvstd.hpp:66,

我该如何修复此问题?

答案1

我在使用 miniconda 和 OpenCV 3.3.1 时遇到了同样的问题。看来 cmake 是根据添加了 miniconda 的 PATH 找到这些包含的。我暂时删除了它,删除了构建目录,配置并成功构建。将 conda 条目移动到 PATH 末尾可能值得一试,而不是将其删除(但我没有测试过)。

相关内容