Сборка OpenCV с CUDA, TBB, MKL, VTK для Windows - PullRequest
0 голосов
/ 14 декабря 2018

Я пытался собрать OpenCV с включенными Intel TBB, MKL, TBB + MKL, VTK, Qt, Eigen и CUDA.Сборка CMake работала просто отлично и сгенерировала решение Visual Studio без ошибок.

Но при сборке OpenCV на VS 2017 это не удается.

opencv_cudev_main.obj: ошибка LNK2019: неразрешенный внешний символ «__declspec (dllimport) bool cv :: __ Termination» (__imp _? __ termination @ cv @@ 3_NA), указанный в функции DllMain

opencv_cudev400.dll: фатальная ошибка LNK1120: 1неразрешенные внешние данные

Вот еще несколько подробностей о текущей конфигурации.

  • CMake (v. 3.13.1)
  • Источник OpenCV (v 4.0.0)
  • OpenCV Contrib (v 4.0.0)
  • Visual Studio 2017 (v 15.9.4)
  • Набор инструментов CUDA (v 10.0)
  • Intel TBB (v 2019, обновление 3)
  • Intel MKL (v 2019 обновление 3)
  • VTK (v 8.1)
  • Qt (v. 5.12.0)
  • Eigen (v. 3.3.7)
  • ОС: Windows 10 (build 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_OPENGL = ON -DBUILD_PERF_TESTS = OFF -DBUILD_DOCS = ВЫКЛ. -DBUILD_JAVA = ВЫКЛ. -DBUILD_opencv_python2 = ВЫКЛ. -DBUILD_opencv_python3 = ВЫКЛ.

1 Ответ

0 голосов
/ 14 декабря 2018

Предполагается, что вы пытаетесь построить из источника: https://github.com/opencv/opencv Вам необходимо проверить, правильно ли установлены:

  • Переменные PATH, то есть они должны указывать на соответствующую библиотеку.В противном случае вам нужно указать путь вручную в CMake
  • . У вас есть правильные версии библиотек, вы можете проверить здесь список https://docs.opencv.org/master/d3/d52/tutorial_windows_install.html, а также объяснения
  • , если вы строитесами библиотеки, обратите внимание, что они находятся в правильном режиме (отладка / выпуск)
  • Вы также должны проверить, есть ли у вас каждая библиотека: я не вижу Eigen в вашем списке
  • Проверьте вашверсия cmake (версия> = 3.9.1)

РЕДАКТИРОВАТЬ Поскольку вы добавили ошибку, у вас может быть указание:

Аналогичная проблема: https://github.com/opencv/opencv/issues/13208

Исходное сообщение о той же проблеме: https://github.com/opencv/opencv/issues/12865

Сообщение о решении: https://github.com/opencv/opencv/pull/13209

Патч # 13209 должен был решить вашу проблему.

  • Попробуйте удалить OpenCV и загрузить свежий репозиторий, не позднее
  • Проверьте, обновлены ли ваши драйверы (для вашей графической карты)
  • Рассмотрите возможность использования предварительно собранных библиотек, как указанов первом абзаце здесь: https://docs.opencv.org/master/d3/d52/tutorial_windows_install.html
...