蔡余申 2023-08-21 22:02 采纳率: 50%
浏览 85
已结题

win11 pcl1.13 qt6.24 vs2022按照网上的方法编译pcl1.13中的vtk9.2.2,运行报错

win11 pcl1.13 qt6.24 vs2022按照网上的方法编译pcl1.13中的vtk9.2.2,运行报错

1>QtWidgetsApplication1.obj : error LNK2001: 无法解析的外部符号 "protected: virtual void __cdecl QOpenGLWidget::resizeGL(int,int)" (?resizeGL@QOpenGLWidget@@MEAAXHH@Z)
1>QtWidgetsApplication1.obj : error LNK2001: 无法解析的外部符号 "protected: virtual void __cdecl QOpenGLWidget::paintEvent(class QPaintEvent *)" (?paintEvent@QOpenGLWidget@@MEAAXPEAVQPaintEvent@@@Z)
1>QtWidgetsApplication1.obj : error LNK2001: 无法解析的外部符号 "protected: virtual void __cdecl QOpenGLWidget::resizeEvent(class QResizeEvent *)" (?resizeEvent@QOpenGLWidget@@MEAAXPEAVQResizeEvent@@@Z)
1>QtWidgetsApplication1.obj : error LNK2001: 无法解析的外部符号 "protected: virtual int __cdecl QOpenGLWidget::metric(enum QPaintDevice::PaintDeviceMetric)const " (?metric@QOpenGLWidget@@MEBAHW4PaintDeviceMetric@QPaintDevice@@@Z)
1>QtWidgetsApplication1.obj : error LNK2001: 无法解析的外部符号 "protected: virtual class QPaintDevice * __cdecl QOpenGLWidget::redirected(class QPoint *)const " (?redirected@QOpenGLWidget@@MEBAPEAVQPaintDevice@@PEAVQPoint@@@Z)
1>QtWidgetsApplication1.obj : error LNK2001: 无法解析的外部符号 "protected: virtual class QPaintEngine * __cdecl QOpenGLWidget::paintEngine(void)const " (?paintEngine@QOpenGLWidget@@MEBAPEAVQPaintEngine@@XZ)
1>C:\Users\18236\Desktop\QtWidgetsApplication1\x64\Release\QtWidgetsApplication1.exe : fatal error LNK1120: 6 个无法解析的外部命令

编译vtk没太大问题,就是配置环境的时候再新建Qt项目后中添加Widget提升为QVTKOpenGLNativeWidget后编译报错,该如何解决

  • 写回答

16条回答 默认 最新

  • 比特流1024 2023-08-22 09:22
    关注
    获得0.30元问题酬金

    参考gpt:
    结合自己分析给你如下建议:
    您的QOpenGLWidget类没有实现一些必要的虚函数,例如resizeGL, paintEvent, resizeEvent等。这些函数是QOpenGLWidget的纯虚函数,如果您继承了QOpenGLWidget,您需要在您的子类中重写这些函数,否则会导致链接错误。
    您的项目没有正确地链接到openglwidgets库。如果您使用的是Qt6,您需要在您的.pro文件中添加openglwidgets模块,例如:
    QT += core gui opengl openglwidgets

    评论

报告相同问题?

问题事件

  • 系统已结题 8月29日
  • 创建了问题 8月21日