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

news2024/11/25 18:48:49

配置报错

报错提示

编译报错提示(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. 重启!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1188986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为gre over ipsec配置案例

除了物理口加入安全域zone外,tunnel也得加入到安全域 一定记得tunnel也得加入zone,这个总爱忘记。 [fw1]firewall zone dmz [fw1-zone-dmz]add interface Tunnel 1 [fw2]firewall zone dmz [fw2-zone-dmz]add interface Tunnel 1

前端Vue 页面滑动监听 拿到滑动的坐标值

前言 前端Vue 页面滑动监听 拿到滑动的坐标值 实现 Vue2写法 mounted() {// 监听页面滚动事件window.addEventListener("scroll", this.scrolling);}, methods: { scrolling() {// 滚动条距文档顶部的距离let scrollTop window.pageYOffset ||document.documentE…

Python爬虫-获取汽车之家车家号

前言 本文是该专栏的第9篇,后面会持续分享python爬虫案例干货,记得关注。 地址:aHR0cHM6Ly9jaGVqaWFoYW8uYXV0b2hvbWUuY29tLmNuL0F1dGhvcnMjcHZhcmVhaWQ9MjgwODEwNA== 需求:获取汽车之家车家号数据 笔者将在正文中介绍详细的思路以及采集方法,废话不多说,跟着笔者直接往…

Spring Boot自动配置原理、实战、手撕自动装配源码

Spring Boot自动配置原理 相比较于传统的 Spring 应用,搭建一个 SpringBoot 应用,我们只需要引入一个注解 SpringBootApplication,就可以成功运行。 前面四个不用说,是定义一个注解所必须的,关键就在于后面三个注解&a…

竞赛选题 深度学习猫狗分类 - python opencv cnn

文章目录 0 前言1 课题背景2 使用CNN进行猫狗分类3 数据集处理4 神经网络的编写5 Tensorflow计算图的构建6 模型的训练和测试7 预测效果8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习猫狗分类 ** 该项目较为新颖&a…

系统的讲解 - PHP 接口签名验证

概览 工作中,我们时刻都会和接口打交道,有的是调取他人的接口,有的是为他人提供接口,在这过程中肯定都离不开签名验证。 在设计签名验证的时候,一定要满足以下几点: 可变性:每次的签名必须是不…

Linux环境下安装人大金仓数据库

人大金仓产品简介 金仓数据库管理系统[简称:KingbaseES]是北京人大金仓信息技术股份有限公司(简称人大金仓)自主研发的、具有自主知识产权的商用关系型数据库管理系统(DBMS)。该产品面向事务处理类应用,兼顾各类数据分…

JAVA反射机制中获取字节码文件对象的三种方式

1,(常用)源代码阶段,Class.forName("全类名") 2,(传参)加载阶段 类名.class 3,(前提有对象)运行阶段 对象.getClass()

FPGA UDP RGMII 千兆以太网(1)

1 RGMII 接口 PHY 的 MII 接口有很多种, 例如 MII、 GMII、 RGMII、 SGMII、 XGMII、 TBI、 RTBI 等。其中 RGMII的主要优势在于,它可同时适用于 1000M、 100M、 10M 三种速率,而且接口占用引脚数较少。但也存在缺点,其一, PCB 布线时需要尽可能对数据、控制和时钟线迚行…

Banana Pi BPI-M6(Raspberry Pi 5 替代品)初始设置及固件烧录

Banana Pi BPI-M6:初始设置和镜像烧录 Banana Pi BPI-M6 的首次测试 在上一篇文章中,我比较了Banana Pi BPI-M6和Raspberry Pi 5的硬件特性。两者都拥有出色的硬件技术,在性能方面应该不会有太大的问题。 今天我想测试一下 Banana Pi。作为…

微信小程序使用阿里巴巴矢量图标

一,介绍 微信小程序使用图标有两种方式,一种是在线获取,一种是下载到本地使用, 第一种在线获取的有个缺点就是图标是灰色的,不能显示彩色图标,而且第一种是每次请求资源的,虽然很快&#xff0…

Git 分支管理流程探讨

为了确保项目稳定性,满足项目迭代与项目开发人员的增长,需要尽快制定一个规范的 Git 分支管理流程。此分支管理流程是在 Git-Flow 的基础上做了一些改变。 环境区分 环境分为以下四种: 测试 1 服(开发自测,查看效果等…

使用c++17std库varaint替代varaint开源库报错处理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:…

GCC + Vscode 搭建 nRF52xxx 开发环境

在 Windows 下使用 GCC Vscode 搭建 nRF52xxx 开发环境 ...... by 矜辰所致前言 最近有遇到项目需求,需要使用到 Nordic 的 nRF52xxx 芯片,还记得当初刚开始写博文的时候的写的 nRF52832 学习笔记,现在看当时笔记毫无逻辑可言&#xff0c…

【教学类-40-03】A4骰子纸模制作3.0(6.5CM嵌套+记录表)

作品展示 背景需求 骰子2.0(7字形)存在幼儿不会“包边”的问题,求助老师帮忙示范,最后累的还是老师 1.0版本,边缘折线多,幼儿剪起来费力。 2.0版本,边缘折线多,幼儿剪起来费力。&a…

基于开源项目OCR做一个探究(chineseocr_lite)

背景:基于图片识别的技术有很多,应用与各行各业,我们公司围绕电子身份证识别自动录入需求开展,以下是我的研究心得 技术栈:python3.6,chineseocr_lite的onnx推理 环境部署:直接上截图&#xff…

什么是ADC测试,能进行自动化测试吗?

ADC测试是一种电子测试方法,用于评估模拟-数字转换器的性能。ADC(模数转换器)是一种将模拟信号转换为数字信号的电子器件。在ADC测试中,会施加一个已知的模拟信号到ADC的输入端,然后测量其数字输出,通过比较输入信号和输出信号之间…

鸿蒙原生应用开发-DevEco Studio超级终端模拟器的使用

一、了解超级终端模拟器支持的设备情况 该特性在DevEco Studio V2.1 Release及更高版本中支持。 目前超级终端模拟器支持“PhonePhone”、“PhoneTablet”和“PhoneTV”的设备组网方式,开发者可以使用该超级终端模拟器来调测具备跨设备特性的应用/服务,如…

UnitTest 参数化---Parameterized安装

一、Parameterized安装命令 常见安装:pip install parameterized 或使用国内豆瓣镜像源安装:pip install parameterized -i https://pypi.douban.com/simple shell页面(安装页面cmd内) C:\Users\S3214>pip install paramete…

动态内存管理(上)

目录 为什么要有动态内存分配malloc和freemallocfree calloc和realloccallocrealloc 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 🐒🐒🐒 个人主页 🥸🥸🥸 C语言 🐿️&…