Попытка использовать VTK-6.3.0 и Qt-4.8.5 с QtCreator-4.1 на Windows 10

Для проекта мне нужно использовать VTK и Qt (с QtCreator на C ++) в Windows 10, но у меня есть проблема.

Позвольте мне объяснить, что я сделал, прежде чем идти дальше:

  • Я устанавливаю QtCreator-4,1 с MinGW 32bit и Qt-5.7
  • Я скачиваю и устанавливаю Qt-4.8.5 в каталоге Qt (не предлагается в MaintenanceTool QtCreator)
  • я скачиваю ВТК-6.3.0
  • Я скомпилирую VTK с QtCreator (и набором с Qt4) на Release с BUILD_SHARED_LIBS = True а также VTK_Group_Qt = True

Затем я использую пример и CMakeLists.txt, который мне дал мой учитель, используя Qt и VTK, но у меня есть ошибка:

не могу найти -lQVTK

В этом коде мы используем:

#include <QVTKWidget.h>

В моем каталоге сборки я нахожу: «libQVTKWidgetPlugin.dll.a» и «libQVTKWidgetPlugin.dll».

Вот CMakeLists.txt, который я использовал (он был написан для пользователя Linux, но у меня недостаточно опыта, чтобы изменить его …):

project(foot)

cmake_minimum_required(VERSION 2.8)

# Where I built VTK
set(VTK_DIR "C:/Lib/VTK/build-VTK-6.3.0-Desktop_Qt_4_8_5_MinGW_32bit-Release")
find_package(VTK REQUIRED)
include(${VTK_USE_FILE})

set( Srcs main.cpp mainwindow.cpp )
set( Hdrs mainwindow.h )
set( MOC_Hdrs mainwindow.h )

# Use the include path and library for Qt that is used by VTK.
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)

# Instruct CMake to run moc automatically when needed.
set(CMAKE_AUTOMOC ON)

if(VTK_QT_VERSION VERSION_GREATER "4")
find_package(Qt5Widgets)
qt5_wrap_ui(UI_Srcs)

add_executable(qtevents
MACOSX_BUNDLE  ${Srcs} ${Hdrs} ${MOC_Hdrs})
qt5_use_modules(qtevents Core Gui Widgets)
target_link_libraries(qtevents ${VTK_LIBRARIES})
else()
find_package(Qt4 REQUIRED)
include(${QT_USE_FILE})
# Use what VTK built with
set(QT_QMAKE_EXECUTABLE ${VTK_QT_QMAKE_EXECUTABLE} CACHE FILEPATH "")
set(QT_MOC_EXECUTABLE ${VTK_QT_MOC_EXECUTABLE} CACHE FILEPATH "")
set(QT_UIC_EXECUTABLE ${VTK_QT_UIC_EXECUTABLE} CACHE FILEPATH "")
qt4_wrap_cpp(MOCSrcs ${MOC_Hdrs})

add_executable(foot ${Srcs} ${Hdrs} ${MOC_Hdrs})
target_link_libraries(foot ${VTK_LIBRARIES} QVTK)
endif()

Я действительно не понимаю, что я сделал неправильно, и мой учитель не может помочь мне …
Если у вас есть идеи …
Я был бы рад дать вам больше информации, если это необходимо!

1

Решение

Задача ещё не решена.

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

Других решений пока нет …

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