VS2015 + VTK 7.1.0 + Qt 5.8.0 с запущенными примерами Qt из-за сбоя точки входа VTK

В настоящее время я пытаюсь использовать библиотеку VTK в сочетании с Qt для создания приложения для визуализации STL-файлов. Для начала я установил следующие библиотеки / программы:

  • Visual Studio 2015 Professional
  • CMake 3.7.0
  • VTK 7.1.0
  • Qt 5.8.0

Для Qt я использовал версию, скомпилированную для vs2015, а именно:

  • кварты-OpenSource-Windows-x86-msvc2015_64-5.8.0.exe

После следования инструкциям, предоставленным Kitware все вроде бы нормально, ошибок при настройке и сборке VTK не было. Тогда я решил использовать пример кода ВТК в качестве отправной точки.

Снова связывание и сборка приложения прошли хорошо, но как только я попытался запустить приложение, я получил следующую ошибку:

Точка входа в процедуру? RgbSwapped @ QImage @@ QEHAA $$ QEAV1 @ Z не может быть расположена в библиотеке динамических ссылок C: \ VTK \ bin \ bin \ Release \ vtkGUISupportQt-7.1.dll.

Я искал решение, но не могу найти. Я также пробовал другие версии VTK и Qt, но я все еще получаю эту ошибку. Например, сегодня утром я попробовал VTK 6.3.0 в сочетании с Qt 4.8.5, снова все пошло хорошо, пока я не попытался запустить какой-то код, на этот раз я получил эту ошибку:

Не удалось найти точку входа в процедуру? DoItemsLayout @ QTableView @@ UAEXXZ в библиотеке динамических ссылок C: \ VTK \ bin \ bin \ Release \ vtkGUISupportQt-6.3.dll.

Если у кого-то есть опыт с такого рода ошибками, пожалуйста, дайте мне знать.

1

Решение

У меня такая же проблема. Мне кажется странным, почему система не видит QT dll в $ PATH, но если вы поместите Qt dll в исполняемый каталог, он будет работать нормально. может быть, кто-то с большим опытом может объяснить это поведение.

1

Другие решения

Мне кажется странным, почему система не видит QT dll в $ PATH,
но если вы поместите Qt dll в вашу исполняемую директорию, она будет работать нормально.

Это зависит от того, как библиотеки DLL находятся в Windows. Увидеть Порядок поиска в библиотеке динамических ссылок для деталей. По этой причине я всегда помещаю необходимые библиотеки DLL в каталог исполняемых файлов, чтобы использовать правильную версию DLL. Хорошо иметь список необходимых библиотек DLL, так как эти библиотеки также необходимо будет доставлять конечным пользователям.

0

По вопросам рекламы [email protected]