【发布时间】:2018-12-14 16:55:50
【问题描述】:
我尝试在启用 Intel TBB、MKL、TBB+MKL、VTK、Qt、Eigen 和 CUDA 的情况下构建 OpenCV。 CMake 构建工作得很好,并且生成了 Visual Studio 解决方案,没有出现错误。
但是在 VS 2017 上构建 OpenCV 时,它失败了。
opencv_cudev_main.obj:错误 LNK2019:函数 DllMain 中引用的未解析外部符号“__declspec(dllimport) bool cv::__termination”(__imp_?__termination@cv@@3_NA)
opencv_cudev400.dll : 致命错误 LNK1120: 1 unresolved externals
以下是有关当前配置的更多详细信息。
- CMake (v. 3.13.1)
- OpenCV 源代码 (v 4.0.0)
- OpenCV 贡献 (v 4.0.0)
- Visual Studio 2017(v 15.9.4)
- CUDA 工具包 (v 10.0)
- 英特尔 TBB(v 2019 更新 3)
- 英特尔 MKL(v 2019 更新 3)
- VTK (v 8.1)
- Qt (v. 5.12.0)
- 特征 (v. 3.3.7)
- 操作系统:Windows 10(内部版本 1809)
我是否忽略了某些东西,或者我必须更改我正在使用的库的版本以便它们与 Opencv 4.0.0 一起使用?
这是我的 CMake 配置字符串
"C:\Libraries\CMake\bin\cmake.exe" -B"%openCVRoot%\build" -H"%openCVRoot%\core-src" -G"Visual Studio 15 2017 Win64" -DBUILD_opencv_world=ON -DWITH_CUDA=ON -DCUDA_FAST_MATH=ON -DWITH_CUBLAS=ON -DWITH_MKL=ON -DMKL_USE_MULTITHREAD=ON -DMKL_WITH_TBB=ON -DWITH_TBB=ON -DINSTALL_TESTS=OFF -DINSTALL_C_EXAMPLES=OFF -DBUILD_EXAMPLES=OFF -DWITH_QT=ON -DWITH_VTK_=ON -DWITH =ON -DBUILD_PERF_TESTS=OFF -DBUILD_DOCS=OFF -DBUILD_JAVA=OFF -DBUILD_opencv_python2=OFF -DBUILD_opencv_python3=OFF -DOPENCV_ENABLE_NONFREE=ON -DOPENCV_EXTRA_MODULES_PATH="%openCVRoot%\contrib-src\modules" -DWITH_EIGEN=ON
【问题讨论】:
-
"它失败了" ...你得详细说明一下。
-
您需要指定为构建它而执行的每个步骤。构建 OpenCV 会让人头疼。您执行了哪些步骤?
-
@DanMašek,现已更新。感谢您的提示。