При компиляции VC++, Opencv 3.2 проекта не работает exe на другой системе, требует opencv_world330.dll что делать? Добрый день.
При компиляции программы всё работает хорошо, у меня в VS 2017 всё настроено.
При переносе папки на другую машину требует opencv_world330.dll. При прямом копировании в папку с exe ошибка пропадает, но программа крашится. Как сделать так, чтобы она автоматом копировала это в корневую папку при компиляции(или я вручную скопирую) и понимала что он находится в корне с exe.
При дебаге или запуске на родной машине всё работает.

21 Авг 2019 в 06:24
288 +1
0
Ответы
1

Для того чтобы ваш exe файл работал на других системах без необходимости установки opencv_world330.dll, вам нужно скопировать этот файл в папку с исполняемым файлом программы.

Одним из способов сделать это автоматически при компиляции является использование Post-Build сценария в Visual Studio. Для этого:

Откройте свой проект в Visual Studio.

Нажмите правой кнопкой мыши на ваш проект в Solution Explorer и выберите "Properties".

В открывшемся окне выберите "Configuration Properties" -> "Build Events" -> "Post-Build Event".

В поле "Command Line" введите команду для копирования opencv_world330.dll в папку с exe файлом программы, например:

xcopy /y "$(OPENCV_DIR)\bin\opencv_world330.dll" "$(OutDir)"

Где $(OPENCV_DIR) - путь к папке с opencv_world330.dll, а "$(OutDir)" - путь к папке с исполняемым файлом программы.

Нажмите "OK" для сохранения изменений.

Теперь при каждой компиляции вашего проекта, opencv_world330.dll будет автоматически копироваться в папку с exe файлом программы.

Надеюсь, это поможет вам решить проблему с зависимостью от opencv_world330.dll на других системах.

20 Апр 2024 в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир