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

QT配置libtorch(一步到位!!!防止踩坑)

QT配置libtorch

  • Qt下载
  • QT配置MSVC
  • QT配置Libtorch

Qt下载

Qt点击下载

在这里插入图片描述

Qt的安装选择MSVC2017 64-bit(一定要安装,这关乎后面的配置!!!),其他的根据自己的选择进行安装

在这里插入图片描述

QT配置MSVC

Visual Studio点击安装
这里需要安装VS以便后面配置MSVC2017(最好安装VS2017与MSVC进行对应,安装最新版本的也可以,后面会说到方法)

在这里插入图片描述

Windows SDK点击安装
如果你的VS版本是2017的就下载进行安装,只需要选择当中的Debug一行安装,其他的取消勾选。

在这里插入图片描述

进入QT,点击工具,点击选项

在这里插入图片描述

进入之后选择Kits查看MSVC2017是否出现黄色感叹号或者错误,如果错误则需要点击Manage进行配置。

在这里插入图片描述

以下是出现黄色感叹号或者错误需要执行的操作:

点击添加,点击MSVC,点击C++在这里插入图片描述
建议直接搜索,每个人的版本不一样,位置可能也不一样,我的在C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build文件夹下。在这里插入图片描述
选择刚刚配置MSVC。
在这里插入图片描述

QT配置Libtorch

libtorch点击下载
根据自己配置的Qt是release版本还是Debug版本进行对应下载

在这里插入图片描述

将下载好的libtorch的include和lib目录添加至环境变量(注意自己的版本

在这里插入图片描述

新建一个Qt工程文件,选择后用MSVC进行编译

在这里插入图片描述

进入工程文件.pro更改相应的配置

在这里插入图片描述
根据自己的路径进行更改

INCLUDEPATH += E:\libtorch\libtorch-debug\include
INCLUDEPATH += E:\libtorch\libtorch-debug\include\torch\csrc\api\include

LIBS += -LE:/libtorch/libtorch-debug/lib \
            -lc10\
            -lc10_cuda\
            -ltorch\
            -ltorch_cuda\
            -ltorch_cpu

LIBS += -INCLUDE:"?ignore_this_library_placeholder@@YAHXZ"

这里需要将torch相关的头文件放在最前面否则会报一堆的符号错误,或者像以下这样添加。
#undef slots
#include <torch/torch.h>
#define slots Q_SLOTS

#include "torch/torch.h"
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QDebug"
//#undef slots
//#include <torch/torch.h>
//#define slots Q_SLOTS

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    if (torch::cuda::is_available())
        qDebug() << "cuda 可用";
    else
        qDebug() << "cuda 不可用";

}

MainWindow::~MainWindow()
{
    delete ui;
}

显示cuda可用,即算配置成功了
在这里插入图片描述


http://www.kler.cn/a/274573.html

相关文章:

  • 从监控异常发现网络安全
  • 【TF-IDF】Hugging Face Model Recommendation System
  • HIPT论文阅读
  • 金碟中间件-AAS-V10.0安装
  • Springboot logback 日志打印配置文件,每个日志文件100M,之后滚动到下一个日志文件,日志保留30天(包含traceid)
  • Hive内部表和外部表的区别
  • Flutter-实现扫描线移动效果
  • HarmonyOS NEXT应用开发之Navigation实现多设备适配案例
  • 学习总结1
  • React状态管理库快速上手-Redux(一)
  • 2024.3.19
  • WebSocket 和SSE的区别以及优缺点
  • publicPath 和 __webpack_public_path__ 和 process.env.BASE_URL的区别和使用方法
  • 使用Vscode连接云进行前端开发
  • Java使用itextpdf往pdf中插入图片
  • nodejs 使用express插件multer文件上传,接收不到文件的bug
  • 未来汽车EE架构趋势
  • 数库据设计最佳实践
  • React——关于表单元素
  • C#,图论与图算法,计算无向连通图中长度为n环的算法与源代码
  • 湖北省地质灾害分布数据 崩塌滑坡泥石流空间分布地质灾害详查等数据集
  • Spark-Scala语言实战(3)
  • Linux:Gitlab:16.9.2 创建用户及项目仓库基础操作(2)
  • xAI开发的一款巨大型语言模型(HLM)--Grok 1
  • Hive 使用 LIMIT 指定偏移量返回数据
  • 力扣--回溯算法51.N皇后