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可用,即算配置成功了

相关推荐
必须会一定会1 小时前
Agent Plugins 1.0实战:plugin.json、skills、mcp.json目录结构与迁移
开发语言·人工智能·ai编程
St_rive2 小时前
Page Object设计模式
java·开发语言·设计模式
wp123_12 小时前
硬件元器件笔记|IPX8 防水 Type‑C 母座安费诺 124018802112A 与 TONEVEE TY48086‑24A 分析
c语言·开发语言·笔记
wuyk5552 小时前
4.树:一对多的层次数据结构
开发语言·数据结构·stm32·单片机
luj_17683 小时前
桥牌思维启示:系统设计的模块化架构
c语言·开发语言·c++·经验分享·算法
caimouse4 小时前
ReactOS 图形系统分析(16):字符串对象 — STROBJ(string.c)
c语言·开发语言
Aphelios3805 小时前
一次锁内网络IO引发的Tomcat线程池“饿死”事故
java·开发语言·spring boot·elasticsearch·tomcat·网络io阻塞·线程池耗尽
不可求~5 小时前
C++ std::string_view 不是字符串:从悬空引用到安全用法
java·开发语言·c++
90后小陈老师6 小时前
PHP 配置默认值失效排查实录:isset 兜底遇上表单空串回填,首页文案是怎么集体消失的
开发语言·php