nightn / CloudViewer

A cross-platform point cloud visualization software powered by PCL and Qt.
https://nightn.github.io/2017/04/15/cloudviewer/
Apache License 2.0
428 stars 169 forks source link

Issue of build CloudViewer.exe #22

Open Kaiwind88 opened 4 years ago

Kaiwind88 commented 4 years ago
CloudViewer.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl QVTKWidget::QVTKWidget(class QWidget *,class QFlags<enum Qt::WindowType>)" (__imp_??0QVTKWidget@@QEAA@PEAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z) referenced in function "public: void __cdecl Ui_CloudViewerClass::setupUi(class QMainWindow *)" (?setupUi@Ui_CloudViewerClass@@QEAAXPEAVQMainWindow@@@Z)
1>CloudViewer.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl QVTKWidget::~QVTKWidget(void)" (__imp_??1QVTKWidget@@UEAA@XZ) referenced in function "public: virtual void * __cdecl QVTKWidget::`scalar deleting destructor'(unsigned int)" (??_GQVTKWidget@@UEAAPEAXI@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "public: virtual class QVTKInteractor * __cdecl QVTKWidget::GetInteractor(void)" (?GetInteractor@QVTKWidget@@UEAAPEAVQVTKInteractor@@XZ)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "public: virtual class vtkRenderWindow * __cdecl QVTKWidget::GetRenderWindow(void)" (?GetRenderWindow@QVTKWidget@@UEAAPEAVvtkRenderWindow@@XZ)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl QVTKWidget::SetRenderWindow(class vtkRenderWindow *)" (?SetRenderWindow@QVTKWidget@@UEAAXPEAVvtkRenderWindow@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "public: virtual class vtkImageData * __cdecl QVTKWidget::cachedImage(void)" (?cachedImage@QVTKWidget@@UEAAPEAVvtkImageData@@XZ)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::contextMenuEvent(class QContextMenuEvent *)" (?contextMenuEvent@QVTKWidget@@MEAAXPEAVQContextMenuEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::deferRender(void)" (?deferRender@QVTKWidget@@MEAAXXZ)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::doDeferredRender(void)" (?doDeferredRender@QVTKWidget@@MEAAXXZ)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::dragEnterEvent(class QDragEnterEvent *)" (?dragEnterEvent@QVTKWidget@@MEAAXPEAVQDragEnterEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::dragLeaveEvent(class QDragLeaveEvent *)" (?dragLeaveEvent@QVTKWidget@@MEAAXPEAVQDragLeaveEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::dragMoveEvent(class QDragMoveEvent *)" (?dragMoveEvent@QVTKWidget@@MEAAXPEAVQDragMoveEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::dropEvent(class QDropEvent *)" (?dropEvent@QVTKWidget@@MEAAXPEAVQDropEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::enterEvent(class QEvent *)" (?enterEvent@QVTKWidget@@MEAAXPEAVQEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual bool __cdecl QVTKWidget::event(class QEvent *)" (?event@QVTKWidget@@MEAA_NPEAVQEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::focusInEvent(class QFocusEvent *)" (?focusInEvent@QVTKWidget@@MEAAXPEAVQFocusEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::focusOutEvent(class QFocusEvent *)" (?focusOutEvent@QVTKWidget@@MEAAXPEAVQFocusEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl QVTKWidget::isAutomaticImageCacheEnabled(void)const " (?isAutomaticImageCacheEnabled@QVTKWidget@@UEBA_NXZ)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::keyPressEvent(class QKeyEvent *)" (?keyPressEvent@QVTKWidget@@MEAAXPEAVQKeyEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::keyReleaseEvent(class QKeyEvent *)" (?keyReleaseEvent@QVTKWidget@@MEAAXPEAVQKeyEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::leaveEvent(class QEvent *)" (?leaveEvent@QVTKWidget@@MEAAXPEAVQEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "public: virtual double __cdecl QVTKWidget::maxRenderRateForImageCache(void)const " (?maxRenderRateForImageCache@QVTKWidget@@UEBANXZ)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __cdecl QVTKWidget::metaObject(void)const " (?metaObject@QVTKWidget@@UEBAPEBUQMetaObject@@XZ)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::mouseMoveEvent(class QMouseEvent *)" (?mouseMoveEvent@QVTKWidget@@MEAAXPEAVQMouseEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::mousePressEvent(class QMouseEvent *)" (?mousePressEvent@QVTKWidget@@MEAAXPEAVQMouseEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::mouseReleaseEvent(class QMouseEvent *)" (?mouseReleaseEvent@QVTKWidget@@MEAAXPEAVQMouseEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::moveEvent(class QMoveEvent *)" (?moveEvent@QVTKWidget@@MEAAXPEAVQMoveEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual bool __cdecl QVTKWidget::nativeEvent(class QByteArray const &,void *,long *)" (?nativeEvent@QVTKWidget@@MEAA_NAEBVQByteArray@@PEAXPEAJ@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual bool __cdecl QVTKWidget::paintCachedImage(void)" (?paintCachedImage@QVTKWidget@@MEAA_NXZ)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "public: virtual class QPaintEngine * __cdecl QVTKWidget::paintEngine(void)const " (?paintEngine@QVTKWidget@@UEBAPEAVQPaintEngine@@XZ)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::paintEvent(class QPaintEvent *)" (?paintEvent@QVTKWidget@@MEAAXPEAVQPaintEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "public: virtual int __cdecl QVTKWidget::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@QVTKWidget@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "public: virtual void * __cdecl QVTKWidget::qt_metacast(char const *)" (?qt_metacast@QVTKWidget@@UEAAPEAXPEBD@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::resizeEvent(class QResizeEvent *)" (?resizeEvent@QVTKWidget@@MEAAXPEAVQResizeEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl QVTKWidget::setAutomaticImageCacheEnabled(bool)" (?setAutomaticImageCacheEnabled@QVTKWidget@@UEAAX_N@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl QVTKWidget::setMaxRenderRateForImageCache(double)" (?setMaxRenderRateForImageCache@QVTKWidget@@UEAAXN@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl QVTKWidget::showEvent(class QShowEvent *)" (?showEvent@QVTKWidget@@UEAAXPEAVQShowEvent@@@Z)
1>CloudViewer.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl QVTKWidget::wheelEvent(class QWheelEvent *)" (?wheelEvent@QVTKWidget@@MEAAXPEAVQWheelEvent@@@Z)
1>D:\ANSYSDev\TFS\lidar_viewer\CloudViewer\build\src\Debug\CloudViewer.exe : fatal error LNK1120: 38 unresolved externals

你好, 我到了生成 exe的 最后一步,但是出现了上面的错误。 可以问下是什么原因吗?谢谢!

Kaiwind88 commented 4 years ago

另外我没有找到QVTKWidget.dll,所以只把QVTKWidgetPlugin.dll 复制到了 \qt5.12.9\5.12.9\msvc2017_64\plugins\designer 下面。会是这个的原因吗

xiaoyu81789527 commented 3 years ago

image 缺少一个Qvtkwidget.dll的依赖

Jason1Bruce commented 2 years ago

另外我没有找到QVTKWidget.dll,所以只把QVTKWidgetPlugin.dll 复制到了 \qt5.12.9\5.12.9\msvc2017_64\plugins\designer 下面。会是这个的原因吗

你好,请问这个问题解决了吗?

Jason1Bruce commented 2 years ago

image 缺少一个Qvtkwidget.dll的依赖

你好,请问问题解决了吗?

siyouluo commented 2 years ago

VTK需要重新编译才能得到QVTKWidget.dll, 参考: https://github.com/nightn/CloudViewer/blob/master/doc/compiling-cloudviewer-windows.md#VTK编译