【VS2019 Qt5 VTK9.2】临时解决配置相关问题的简单方法

配置报错

报错提示

编译报错提示(LNK2019或LNK2001)

严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2019 无法解析的外部符号 “__declspec(dllimport) public: __cdecl QVTKOpenGLNativeWidget::QVTKOpenGLNativeWidget(class QWidget *,class QFlags)(_imp??0QVTKOpenGLNativeWidget@@QEAA@PEAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z),函数"public: void __cdecl MainWindow::initwindow(void)” (?initwindow@MainWindow@@QEAAXXZ)中引用了该符号

原因

  1. 可能没有正确地将包含这个函数的库添加到项目链接器设置中;
  2. 可能正在试图调用一个不存在的库函数。例如,如果你正在使用的库版本不支持你正在尝试调用的特定函数,则可能会发生这种情况;
  3. 可能在代码中声明了一个函数,但没有提供它的实现。

分析可能是因为库配置或库版本的问题,最后排查发现是VTK库配置有问题,但是没有从版本和CMakeLists中发现问题,先用万能解决法解决运行。

配置相关报错的万能解决方法

以VS2019、QT5.15.2、VTK9.2的配置为例:

1. 附加包含目录

在这里插入图片描述

项目属性 -> C/C++ -> 常规 -> 附加包含目录:(选择build/Debug目录下的include文件夹)

...\VTK\debug\include\vtk-9.2

2. 附加库目录

在这里插入图片描述
项目属性 -> 链接器 -> 常规 -> 附加库目录:(选择build目录下的lib文件夹里选到Debug目录

...\VTK\build_debug\lib\Debug;

3. 添加附加依赖项

请添加图片描述
项目属性 -> 链接器 -> 输入 -> 附加依赖项:(添加build目录下的lib文件夹里Debug目录中所有lib文件名)
位置:...\VTK\build_debug\lib\Debug

快速获取该文件夹下所有文件名的方法:

新建txt -> 输入dir *.lib /b > all_lib.txt -> 后缀名.txt改写为.bat -> 双击生成all_lib.txt文件 -> 复制全部,粘贴到附加依赖项

系统环境变量设置(重启生效)

参考:【更改系统环境变量】Python编译器、CUDA、CMake等场景可设置使用

  1. 编辑Path环境变量,新建...\VTK\debug\bin\Debug
  2. 新建一个VTK_DIR环境变量名,写入...\VTK\debug\include\vtk-9.2
  3. 重启!
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值