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

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更改相应的配置

根据自己的路径进行更改

cpp 复制代码
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

cpp 复制代码
#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可用,即算配置成功了

相关推荐
Brilliantwxx几秒前
【C++】stack_queue与deque模版(模拟实现+认识+对比)
开发语言·c++·笔记·算法·list
ch.ju1 分钟前
Java Programming Chapter 3——Subscript of the array
java·开发语言
雨落在了我的手上3 分钟前
初识java(三):运算符
java·开发语言
爱喝水的鱼丶4 分钟前
SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程(四篇连载)第四篇:ADT连接故障排查与环境迁移教程
运维·开发语言·数据库·学习·sap·abap
爱吃提升10 分钟前
Yifan Hu(适合大规模数据)大数据算法
开发语言·算法·php
c++之路14 分钟前
装饰器模式(Decorator Pattern)
java·开发语言·装饰器模式
Yolo566Q16 分钟前
环境土壤物理模型HYDRUS1D/2D/3D实践技术应用系统性学习
大数据·开发语言·gpt·学习·arcgis·r语言
AI人工智能+电脑小能手29 分钟前
【大白话说Java面试题 第45题】【JVM篇】第5题:JVM中,对象何时会进入老年代?
java·开发语言·jvm·后端·面试
hanbr30 分钟前
C++ 类型转换与异常处理全解析
开发语言·c++