我正在尝试在使用 QVTKWidget 的 Windows10 上使用 QTCreator 构建应用程序,但出现链接器错误:
mainwindow.obj:-1: error: LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl QVTKWidget::QVTKWidget(class QWidget *,class QFlags<enum Qt::WindowType>)" referenced in function "public: void __cdecl Ui_MainWindow::setupUi(class QMainWindow *)"
我已经为 msvc2013 和 msvc2013_64 下载了 Qt5.5。我已经下载了 VTK7,并使用 CMake 在 Qt 支持下构建了它。我构建了一个 vtk32 和 vtk64。我已经复制D:\VTK\vtk32\bin\Release\QVTKWidgetPlugin.dll
到C:\Qt\Tools\QtCreator\bin\plugins\designer
并启动 QTCreator 时,QVTKWidget 显示在可用表单控件的 QVTK 部分下方的底部。
我将 QVTKWidget 添加到我的表单并使用 msvc2013 Release 构建应用程序。然后我得到链接器错误。我错过了什么库?
下面是我的 .pro 文件
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = MIViewer
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
win32 {
INCLUDEPATH += D:\VTK\VTK-7.0.0\GUISupport\Qt
INCLUDEPATH += D:\VTK\VTK-7.0.0\Common\Core
INCLUDEPATH += D:\VTK\VTK-7.0.0\Rendering\Core
}
win32-msvc2013 {
INCLUDEPATH += D:\VTK\vtk32\GUISupport\Qt
INCLUDEPATH += D:\VTK\vtk32\Interaction\Style
INCLUDEPATH += D:\VTK\vtk32\Rendering\Core
INCLUDEPATH += D:\VTK\vtk32\Rendering\OpenGL2
INCLUDEPATH += D:\VTK\vtk32\Common\Core
LIBS += -LD:\VTK\vtk32\lib\Release
}
win32-msvc2013_64 {
INCLUDEPATH += D:\VTK\vtk64\GUISupport\Qt
INCLUDEPATH += D:\VTK\vtk64\Interaction\Style
INCLUDEPATH += D:\VTK\vtk64\Rendering\Core
INCLUDEPATH += D:\VTK\vtk64\Rendering\OpenGL2
INCLUDEPATH += D:\VTK\vtk64\Common\Core
LIBS += -LD:\VTK\vtk64\lib\Release
}
LIBS += -lQVTKWidgetPlugin \
-lvtkGUISupportQt-7.0 \
-lvtkRenderingQt-7.0