Could NOT find TBB: Found unsuitable version ".", but required is at least "4.4" (found /usr/include, found components: tbb tbbmalloc) -- Could NOT find MKL (missing: MKL_INCLUDE_DIR MKL_LIBRARIES)
时间: 2024-03-27 09:38:19 浏览: 22
这似乎是你在编译某个程序时遇到的错误。这个错误消息显示你缺少了 TBB 和 MKL 库,而且你当前安装的 TBB 版本不够新。你需要下载并安装 TBB 4.4 或更高版本,以及 MKL 库。如果你使用的是 Linux 操作系统,可以使用包管理器安装这些库,例如在 Ubuntu 中,你可以使用以下命令安装它们:
```
sudo apt-get install libtbb-dev intel-mkl-64bit-<version>
```
其中 `<version>` 是你要安装的 MKL 库的版本号。如果你使用的是其他操作系统,请查看相应的文档以了解如何安装这些库。
相关问题
opencv 编译 Could not find OpenBLAS include. Turning OpenBLAS_FOUND off Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off Could NOT find BLAS (missing: BLAS_LIBRARIES) Could NOT find LAPACK (missing: LAPACK_LIBRARIES) Reason given by package: LAPACK could not be found because dependency BLAS could not be found.
这个错误提示意味着编译 OpenCV 时缺少 BLAS 和 LAPACK 库。这些库是线性代数计算库,必须安装到系统中以便 OpenCV 可以使用它们。
你可以尝试以下方法来解决这个问题:
1. 安装 BLAS 和 LAPACK 库:
在 Ubuntu 中使用以下命令安装:
```
sudo apt-get install libblas-dev liblapack-dev
```
在 CentOS 中使用以下命令安装:
```
sudo yum install -y blas-devel lapack-devel
```
2. 如果已经安装了这些库,但是仍然出现错误,请尝试在 CMake 命令中设置 BLAS 和 LAPACK 库的路径:
```
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 OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules -D BUILD_EXAMPLES=ON -D BUILD_opencv_python3=yes -D BLAS_LIBRARIES=/path/to/libblas.so -D LAPACK_LIBRARIES=/path/to/liblapack.so ..
```
将 `/path/to/libblas.so` 和 `/path/to/liblapack.so` 替换为实际的库路径。
3. 如果仍然出现错误,请尝试在系统中搜索 BLAS 和 LAPACK 库,然后将其路径添加到 CMake 命令中:
```
find / -name libblas.so
find / -name liblapack.so
```
然后将找到的路径添加到 CMake 命令中,例如:
```
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 OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules -D BUILD_EXAMPLES=ON -D BUILD_opencv_python3=yes -D BLAS_LIBRARIES=/usr/lib/x86_64-linux-gnu/libblas.so -D LAPACK_LIBRARIES=/usr/lib/x86_64-linux-gnu/liblapack.so ..
```
注意,这些库的路径可能因系统而异,需要根据实际情况进行修改。
/usr/bin/ld: cannot find -ltbb
这个错误通常是由于缺少 Intel TBB(Threading Building Blocks)库引起的。TBB 是一个用于并行编程的开源库,可能是你的项目依赖于它。
要解决这个问题,你可以尝试以下几个步骤:
1. 确保你已经安装了 Intel TBB 库。你可以从 Intel 的官方网站下载并安装它。
2. 确认你的项目的构建配置中包含了正确的 TBB 库路径。这通常可以通过修改链接选项或添加相关的环境变量来实现。确保链接器能够找到 TBB 库文件。
3. 如果你已经安装了 TBB,但链接器仍然无法找到它,那么可能是因为库文件不在默认的搜索路径中。在这种情况下,你可以尝试将 TBB 库文件所在的路径添加到链接器的搜索路径中。
如果以上步骤无法解决问题,我建议你检查一下你的系统和项目配置,确保 TBB 被正确地安装和链接。如果问题仍然存在,你可能需要进一步调查或寻求相关技术支持来解决该问题。