栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

QT+ Libtorch Microsoft C++ 异常: std::length

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

QT+ Libtorch Microsoft C++ 异常: std::length

        visual studio编译qt+libtorch,载入模型时报错。

出错信息:

        使用visual studio 编译QT+libtorch报错

未加载kernelbase.pdb,kernelbase.pdb 包含查找模块 KernelBase.dll 的源文件所需的调试信息。

0x00处(位于 view64.exe 中)有未经处理的异常: Microsoft C++ 异常: std::length_error,位于内存位置 0x00 处。

原因:

        libtorch版本与QT编译器不匹配。例如,Debug版本的libtorch必须使用QT Debug版本进行编译。如果不匹配,有些功能例如tensor可以正常使用,但是加载模块MODULE时会报错。

解决方法:

        修改QT编译器或Libtorch编译版本,使其一致。

可以用以下代码测试

#undef slots
#include
#include
#define slots Q_SLOTS

int main(int argc, char* argv[])
{
    //test torch
    auto device = torch::Device(torch::kCUDA);
    auto model = ConvReluBn(3, 4, 3);//自己写好的模块
    
    //test qt
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849151.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号