• 【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
    
    • 1

    2. 附加库目录

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

    ...\VTK\build_debug\lib\Debug;
    
    • 1

    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. 重启!
  • 相关阅读:
    正则表达式
    下载chromedrive,使用自动化
    JavaScript 56 JavaScript 调试
    YOLO V5 使用
    凭借渠道优势穿越风险?科大讯飞探索AI新应用场景
    【Docker】Linux主机部署Docker
    MySQL索引
    WebGL + ThreeJS 初探
    PysparkNote103---window滑窗
    java基于微信小程序的寻医问药 医院预约挂号系统 uniapp小程序
  • 原文地址:https://blog.csdn.net/weixin_49347928/article/details/134312931