Связывание ошибок для Qt и cvv при сборке OpenCV в Windows 10 - PullRequest
1 голос
/ 15 января 2020

Я пытаюсь собрать OpenCV в соответствии с этими инструкциями . После генерации с помощью CMake я открыл OpenCV.sln в папке сборки, переключился в режим Release и успешно собрал ALL_BUILD . Но когда я пытаюсь собрать опцию INSTALL под CMake, я получаю такие ошибки:

Error   LNK2001 unresolved external symbol "public: virtual struct QMetaObject const * __cdecl cvv::qtutil::Signal::metaObject(void)const " 
Error   LNK2019 unresolved external symbol "public: void __cdecl cvv::qtutil::ZoomableImage::updateConversionResult(class cv::Mat const &,enum cvv::qtutil::ImageConversionResult)const " 
...

Я устанавливаю OpenCV 4.2 на Windows 10 с Visual Studio 19. Как можно Я решаю эту проблему?

Вот изображение сообщений об ошибках в Visual Studio:

enter image description here

1 Ответ

1 голос
/ 16 января 2020

Превращение моих комментариев в ответ:

Описанная проблема GitHub здесь ссылается на ошибки, подобные тем, которые вы опубликовали. Хотя предлагаемое «решение» больше похоже на обходной путь, оно может помочь решить проблему. Сначала попробуйте собрать без модуля cvv (интерактивный GUI компонент OpenCV), запустив CMake с переменной BUILD_opencv_cvv, установленной в OFF:

cmake -DBUILD_opencv_cvv=OFF ...

Вы также можете установить переменную с помощью CMake GUI, нажав кнопку Добавить запись и определив BUILD_opencv_cvv как OFF.

Проблема GitHub дополнительно объясняет, что если после внесения изменений все еще остаются неопределенные ошибки ссылок, вы также можете попробовать установить BUILD_opencv_world в OFF.

cmake -DBUILD_opencv_cvv=OFF -DBUILD_opencv_world=OFF ...

Это может помочь в успешной сборке, но следует отметить, что эти отключенные модули будут исключены из вашей сборки.

...