![错误 cmath '::cos' 尚未声明](https://linux22.com/image/1145210/%E9%94%99%E8%AF%AF%20cmath%20'%3A%3Acos'%20%E5%B0%9A%E6%9C%AA%E5%A3%B0%E6%98%8E.png)
我正在尝试在 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 末尾可能值得一试,而不是将其删除(但我没有测试过)。