vtk链接QT库出错

Ubuntu下自己编译了QVTKWidget,在使用的过程中报错

错误信息:

/usr/bin/ld: warning: libQt5X11Extras.so.5, needed by /usr/local/lib/libvtkGUISupportQt-8.0.so.1, not found (try using -rpath or -rpath-link)
/usr/local/lib/libvtkGUISupportQt-8.0.so.1: undefined reference to QX11Info::display()@Qt_5' /usr/local/lib/libpcl_visualization.so: undefined reference to__cxa_throw_bad_array_new_length@Qt_5’
在这里插入图片描述

问题原因:

我们将QT安装到了opt目录下面,导致在系统目录下找不到对应的QT库文件

解决方式一

第一步:修改cmakelists.txt文件,指定QT目录为我们安装的QT目录

在find_package之前添加QT的cmake路径
set(CMAKE_PREFIX_PATH “/opt/Qt5.7.1/5.7/gcc_64/lib/cmake”)
find_package (Qt5 COMPONENTS Core Widgets REQUIRED)

第二步:清除CMake在build目录下面的缓存文件,清空build目录即可一定要做这一步

参考CMAKE_MODULE_PATH 与 CMAKE_PREFIX_PATH这时候cmake会在我们指定的目录下找QT

第三步:重新cmake配置,并且编译

cmake …/src
make
在这里插入图片描述
在这里插入图片描述

第四步:运行报错后,将QT库目录添加到LD_LIBRARY_PATH中,运行成功

运行报错
./Demo: error while loading shared libraries: libQt5X11Extras.so.5: cannot open shared object file: No such file or directory
在这里插入图片描述

将QT的lib目录添加到LD_LIBRARY_PATH中后运行OK(可以将这个命令添加到~/.bashrc文件末尾,不然每次打开终端之后都需要执行这条命令)
export LD_LIBRARY_PATH=/opt/Qt5.7.1/5.7/gcc_64/lib:$LD_LIBRARY_PATH

解决方式二

cmake命令行指定CMAKE_PREFIX_PATH路径
cmake … -DCMAKE_PREFIX_PATH=/opt/Qt5.7.1/5.7/gcc_64/lib/cmake

参考资料

/usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5’ not found
CMake中添加Qt模块的合理方法
CMAKE_MODULE_PATH 与 CMAKE_PREFIX_PATH
如何彻底清除cmake产生的缓存

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VTK是Visualization Toolkit的缩写,是一个开源的图形处理工具,用于创建、处理和渲染三维图形。它提供了丰富的功能,可以用于各种应用程序,包括科学可视化、医学图像处理、机器人学等。 Qt是一种跨平台的应用程序开发框架,具有丰富的GUI(图形用户界面)组件和工具,可以用于创建各种类型的应用程序。它提供了直观、交互式的界面设计工具,使开发人员能够轻松地创建用户友好的应用程序。 DICOM是医学图像和通信标准的缩写,它是医学领域的一种通用文件格式和协议,用于存储、传输和共享医学图像和相关信息。DICOM文件通常包含来自医学成像设备(如CT扫描、MRI、X射线等)的图像数据及其相关的患者信息、检查参数等。 VTKQt和DICOM常常一起使用,用于开发医学图像处理和分析的应用程序。通过使用VTKQt,开发人员可以轻松地创建具有丰富可视化效果的医学图像应用程序,并提供直观、智能化的界面。VTK提供了丰富的图形处理和可视化工具,可以对DICOM图像进行处理、分析和可视化。而Qt的GUI组件和界面设计工具使开发人员能够创建用户友好的应用程序界面,方便用户查看、编辑和分析DICOM图像。 总的来说,VTKQt和DICOM的结合为医学图像处理和分析应用程序的开发提供了强大的工具和功能。它们的使用可以加快开发过程,提高应用程序的效率和用户友好性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值