1

プロジェクトの場合、Windows 10 で VTK と Qt (C++ の QtCreator を使用) を使用する必要がありますが、問題があります。

さらに先に進む前に、私が行ったことを説明しましょう。

  • QtCreator-4.1MinGW 32bitと Qt-5.7でインストールします
  • Qt ディレクトリにQt-4.8.5をダウンロードしてインストールします(QtCreator の MaintenanceTool では提案されていません)。
  • VTK-6.3.0をダウンロードします
  • BUILD_SHARED_LIBS = TrueおよびVTK_Group_Qt = Trueでリリース時に QtCreator (および Qt4 のキット) で VTK をコンパイルします

次に、Qt と VTK を使用して、例と先生がくれた CMakeLists.txt を使用しますが、エラーがあります。

-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()

何を間違えたのか本当に理解できず、先生も私を助けることができません... 何か考えがあれば... 必要に応じてさらに情報を提供したいと思います!

4

0 に答える 0