QT5.14.2 + VS2019 + VTK8.2.0配置环境

本文详细介绍了如何下载和配置QT5.14.2、VTK8.2.0以及Cmake,结合VS2019进行编译。在过程中,提到了环境变量设置、Cmake配置、VS2019项目设置等关键步骤,并解决了Qt库找不到入口点和tbb.dll缺失的问题。此外,还涉及了QT在VS中的项目创建和代码测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、软件下载和环境配置

1.1 QT5.14.2

1.1.1 软件下载地址:Index of /archive/qt

1.1.2 安装的时候需要注意:

安装时候至少把MSVC2017 64bit选择上。

用VS2019时候,打开Qt Creator,点击工具->选项,构建套件中可能会显示黄色或者红色感叹号,这个时候就需要额外的配置。

 打开VS2019,点击顶部工具 -> 获取工具和功能 -> 在跳出的新页面中点击单个组件。

 搜索msvc ->下载MSVC VS 2017 X64/X86的缓解库生成工具。

 打开Qt Creator在Qt Creator的选项中,选择编译器,选择Manual,选择添加MSVC->C++

 配置一个32bit和一个64bit的,配置信息如下:【名称可以随便取】

 

 选择Debugger,查看是否拥有下面两个调试器。

 没有就得去下载【应该一般都是有的】

Windows SDK 和模拟器存档 | Microsoft Developer

 在构建套件里面对msvc2017 32和64-bit进行配置,C++选择我们之前对应配置的即可。

 

1.1.3 配置环境变量

这里要注意,如果你python用过QT,一定要把QT环境变量的位置放在python路径的前面,不然最后运行程序的时候会报错。

“Qt无法定位程序输入点QXXXX于动态链接库XXXX”

1.2 VTK8.2.0和Cmake

1.2.1 软件下载地址

vtk下载地址:Download | VTK

Cmake下载地址:Download | CMake

 vtk下好后找一个位置解压VTK-8.2.0,同时在同一目录下新建VTK-install,和VTK-prefix。

二、Cmake+Vs2019编译vtk

2.1 Cmake配置

以管理员的身份运行Cmake,文件源为vtk-8.2.0,输出到我们新建的vtk-install里面,grouped和advanced的✔要点上,不然看着很乱。

之后再点击config。

选择配置如下

生成完成之后勾选一些需要编译的东西。

BUILD里面把BUILD_EXAMPLES打✔,最好不要✔BUILD_TESTING,虽然据说把这个打上勾不会出现可能出现的编译路径错误,但是会大大增加vs编译的时间。

 CMAKE里面在CMAKE_INSTALL_PREFIX的路径,选择为我们之前新建的VTK-prefix文件

Module里面勾选vtkGUISupportQt即可

 VTK里面勾选VTK_Group_QT即可

 

 之后点击configure再次进行编译

注意这里的地址一定要同你QT中msvc2017-64/lib/cmake的地址一样,如果你环境变量没问题,这里就不会有问题。

 再次点击configure,如果全是白色的,就点击Genrate,等待一会儿,生成完成后,点击open project。或者点击vtk-install里面的VTK-sln即可。

2.2 VS2019配置

打开VS2019后,将顶部设置为Release和X64。 

 点击左侧ALL BUILD,先点击设为启动项目,再点击生成即可。

 如果编译中出现:path use undefined Qpainter的错误,参考解决方式:

vtk8.2.0 + vs2019 + qt5.15.1编译_wangsen8的博客-CSDN博客

编译完成后,点击执行INSTALL,在vtk-prefix目录下会生成对应文件。

 

 将这个路径添加到环境变量中

将vtk-prefix位置【F:\VTK\VTK-prefix\plugins\designer】的QVTKWidgetPlugin.dll

 以及vtk-install位置【F:\VTK\VTK-install\lib\Release】 的QVTKWidgetPlugin.exp与
QVTKWidgetPlugin.lib

放到对应QT编译器msvc2017_64的文件目录下【F:\QT\QT5.14.2\5.14.2\msvc2017_64\plugins\designer】

这个时候点击对应编译器msvc2017_64版本目录下【F:\QT\QT5.14.2\5.14.2\msvc2017_64\bin】的designer.exe,就可以看到对应的QVTK组件。

 

三、vs2019+QT配置

3.1  QT配置

点击VS2019上方拓展->管理拓展,在对应界面搜索QT并安装即可。

安装好后重启,在拓展里面的QT VS TOOLS里的QT Versions进行设置。

 Path设置成QT中的msvc2017_64位置即可。

 3.2 新建QT项目

在新建项目中选择 Qt Widgets Application,一直点next即可。

 选择编译模式Release/x64

 点击Form Files下的QtWidgetsApplication.ui,如果出现无法打开ui文件

右键选择打开方式

点击添加,程序选择对应编译器下面的designer.exe[F:\QT\QT5.14.2\5.14.2\msvc2017_64\bin\designer.exe]

 

 

再点击确定即可。 

 

 点击项目右边的属性。 

在VC++ 目录中,设置包含目录,将路径【F:\VTK\VTK-prefix\include\vtk-8.2】放入包含目录。

在VC++ 目录中,设置库目录,将路径【F:\VTK\VTK-prefix\lib】放入库目录。

来到F:\VTK\VTK-prefix\lib目录下

新建一个txt文件输入: DIR *.lib /B >LIBLIST.TXT,之后将文件名后缀改为bat,双击这个bat会再生成一个txt文件。

 

将这个txt文件中的内容全选复制,来到链接器的输入部分,编辑附加依赖项,将刚才复制的全部放进去。

 

 点击应用

 在右侧main.cpp放入我们的测试代码:

#include <QApplication>
#include <vtkSphereSource.h>
#include <vtkPolyData.h>
#include <vtkSmartPointer.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderWindow.h>
#include <vtkRenderer.h>
#include <vtkRenderWindowInteractor.h>
#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
int main(int argc, char *argv[])
{
    vtkSmartPointer<vtkSphereSource> sphereSource =vtkSmartPointer<vtkSphereSource>::New();
    sphereSource->SetCenter(0.0, 0.0, 0.0);
    sphereSource->SetRadius(5.0);
    vtkSmartPointer<vtkPolyDataMapper> mapper =vtkSmartPointer<vtkPolyDataMapper>::New();
    mapper->SetInputConnection(sphereSource->GetOutputPort());
    vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
    actor->SetMapper(mapper);
    vtkSmartPointer<vtkRenderer> renderer =vtkSmartPointer<vtkRenderer>::New();
    vtkSmartPointer<vtkRenderWindow> renderWindow =vtkSmartPointer<vtkRenderWindow>::New();
    renderWindow->AddRenderer(renderer);
    vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =vtkSmartPointer<vtkRenderWindowInteractor>::New();
    renderWindowInteractor->SetRenderWindow(renderWindow);
    renderer->AddActor(actor);
    renderer->SetBackground(.3, .6, .3); 
    renderWindow->Render();
    renderWindowInteractor->Start();
    return EXIT_SUCCESS;
}

点击运行

(1)如果编译最后出现报错:“ 由于找不到tbb.dll,无法继续执行代码”

这个是因为C:\Windows\System32下面少了tbb.dll文件。解决方式是喊个电脑是好的把这个文件发给你,不过微信好像不能发这个文件,我是用U盘拷的实验室的哥们儿的。

把别人正常电脑的C:\Windows\System32下面的tbb_waves.dll文件拷下来,复制到我们的电脑,改成tbb.dll即可正常运行。

(2)如果编译报错为:找不到Qt无法定位程序输入点QXXXX于动态链接库XXXX问题

那么就是环境变量顺序的错误。

解决方式:

Qt无法定位程序输入点QXXXX于动态链接库XXXX问题的解决方法_苏瓜皮的博客-CSDN博客

四、总结

真的很烦,这个东西,因为系统文件dll的缺失和之前python安装过PYQT的原因卡了我三天才把这个配好,真的吐了,之后还有两个月的开发周期,我真的会谢🤮

### 配置 Qt 5.14.2 使用 MSVC 2019 编译器 为了使 Qt 5.14.2 能够使用 MSVC 2019 编译器,需按照特定步骤操作以确保兼容性和正常工作。 #### 修改 Visual Studio 组件 在Visual Studio Installer 中选择修改已安装的 Visual Studio 版本。确认并勾选适用于 Windows 的 SDK 和 MSVC v142 - VS 2019 C++ 工具集[^2]。 #### 添加编译器至 Qt Creator 进入Qt Creator,通过路径 `工具` -> `选项` -> `Kits` -> `编译器`, 手动添加新的编译器条目。对于每一个架构(32位和64位),创建一个新的MSVC编译器实例,并指定正确的路径指向所安装的 MSVC 2019 编译器位置[^4]。 ```cpp // 示例:设置编译器路径(假设为默认安装) "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe" ``` #### 设置调试器 验证或增加 `.cdb` 调试器支持。如果缺少必要的调试器,则应考虑更新或重新安装最新的 Windows 10 SDK 来获取这些资源。 #### 构建套件配置 返回到构建套件(Kits)部分,在这里定义用于项目的具体组合——包括上述配置过的编译器以及匹配的目标平台(如 Win32 或 x64)。这一步骤至关重要,因为它决定了项目实际使用的开发环境设定。 完成以上所有配置之后,应该可以成功利用 MSVC 2019 编译器来处理基于 Qt 5.14.2 的应用程序了。需要注意的是,由于版本差异可能带来的潜在问题,建议测试不同场景下的编译情况以确保一切运行顺畅[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值