当前位置: 首页 > news >正文

VTK链接程序问题记录

VTK编译

编译的话可以参考其他文章。如:VTK源码编译安装记录与教程(VS2019+QT5.15.2+PCL1.12.1+VTK9.1.0配置,超详细)_vtk配置-CSDN博客

编译的时候要注意:必须使用MSVC编译器。并在选择QT版本的时候,也要进行修改为MSVC64的编译器。。。这边一般情况下默认都是WinGw的,需要手动修改。

背景

在使用QtCreator进行链接VTK程序时,报错:这个提示一般是动态库没有找到。

pro文件种引入代码为:

INCLUDEPATH +=$$quote("E:\VTK\VTK9.0.1_Win10X86X64_Install\x64_install\include\vtk-9.0")
CONFIG(debug,debug|release){message(debug test)LIBS += -L$$quote("E:\VTK\VTK9.0.1_Win10X86X64_Install\x64_install\lib") -l*LIBS += -L$$quote("E:\VTK\VTK9.0.1_Win10X86X64_Install\x64_install\bin")  -lvtkRenderingCore-9.0d
}else{message(release test11)}LIBS+= -LE:\VTK\vs_install\lib -l*

以上代码有几处错误。1. LIBS 后面如果使用quote的话不需要用-L 2.quote关键字用于引用目录, 等同于定义一个环境变量,里面可以直接指定动态库。3. 最后一种写法找不到动态库。。。但是我好像记得之前这样是可以的,现在不行了

呜呜,这个问题搞了我两天,之前一直以为是编译问题。

正确写法

INCLUDEPATH+=E:\VTK\vs_install\include\vtk-9.0
LIBS += -LE:\VTK\vs_install\bin
LIBS+= $$quote("E:\VTK\vs_install\lib\*lib") #可以

或者用LIBS +=-L路径 -l动态库   这样就需要把所有动态库有写一遍。可以使用命令行:

dir "D:\My3rdLib\PCL 1.12.1\3rdParty\VTK\lib\*d.lib" /b > libs_vtk_d.txt

导入到文件中,在加载。 

使用CMAKE链接

#VTK START
include_directories(E:\\VTK\\vs_install\\include\\vtk-9.0)# 查找 VTK 库
file(GLOB VTKLIBS E:/VTK/vs_install/lib/*.lib)
message(VTKLIBS = ${VTKLIBS})
target_link_libraries(simple1 PUBLIC ${VTKLIBS} ) #当target_link_libraries出现多次时,需要明确指出用public#VTK end

 CMAKE这边好像是不需要指定dll的路径这样可以直接运行。

扩展

在编译过程中,还有别的情况,在这也记录一下:

记录1

在编译输出的界面,这里看不到我们链接的动态库相关记录。

记录2

虽然我们Qt程序是以Debug运行的,但是这里的日志还是有release的相关信息。

如果要指定QT的编译版本的话:我们就需要以下代码来设置:


# CONFIG += release   #这个release版本,以下是debug版本
# CONFIG +=debug
# QMAKE_CFLAGS_DEBUG += -g
# QMAKE_CXXFLAGS_DEBUG += -g

相关文章:

  • 元素-标签-复制
  • [Linux] Vim编辑器 Linux输入输出重定向
  • Nginx-5 Nginx 的4层反向代理
  • 【node】Mac m1 安装nvm 和node
  • 64-Oracle Redo Log
  • 示波器测量市电需要隔离变压器
  • langchain从入门到精通(十三)——Runnable组件
  • 提升 RAG 检索质量的 “七种武器”
  • Java面试复习:基础、面向对象、多线程、JVM与Spring核心考点
  • 关于Spring JBDC
  • Unity Addressable使用之检测更新流程
  • 从 Cluely 融资看“AI 协同开发”认证:软件考试应该怎么升级?
  • PaddleOCR + Flask 构建 Web OCR 服务实战
  • 论文笔记:Large language model augmented narrative driven recommendations
  • es向量检索里的efSearchc参数是干嘛用的
  • 装配体镜像阵列与爆炸视图-装配体设计技能(2)
  • Hologres的Table Group和Shard简介
  • 秘塔AI搜索:国产无广告智能搜索引擎,重塑高效信息获取体验
  • c# .netCreateLinkedTokenSource链接令牌,取消信号异步执行
  • 使用模板创建uniapp提示未关联uniCloud问题
  • 百度seo网站/竞价托管外包服务
  • html模板网站模板下载/晚上看b站
  • 广州做网站 timhi/seo是什么意思中文翻译
  • 网站建设实训内容/常用的网络推广手段有哪些
  • 做橙光游戏的网站/电商热门关键词
  • 宛城区建网站/seo新闻