Visual Studio导入libtorch(Cuda版)

Visual Studio导入libtorch(Cuda版)

一、安装

官网:https://pytorch.org/get-started/locally/

相应地选择并下载

二、环境变量配置

解压zip,得到libtorch文件夹,将libtorch\lib和libtorch\bin对应路径添加到系统环境变量-Path中。

这里加入的是最后两个libtorch相关的,顺便找到之前的cuda路径,之后在vs配置时有用

三、VS配置

(1)右键项目名->属性【或者Alt+Enter快捷键调出面板】

  • 设置为x64平台

(2)VC++目录

  1. 包含目录

    选择箭头->编辑

    复制代码
    # 填入自己对应的cuda和libtorch相关路径
    CUDA路径\CUDA\v11.7\include
    libtorch路径\libtorch\include
    libtorch路径\libtorch\include\torch\csrc\api\include
  2. 库目录编辑

    复制代码
    CUDA路径\CUDA\v11.7\lib\x64
    libtorch路径\libtorch\lib

(3)C\C++

  1. 常规-附加包含目录

    和包含目录一样

    复制代码
    CUDA路径\CUDA\v11.7\include
    libtorch路径\libtorch\include
    libtorch路径\libtorch\include\torch\csrc\api\include

    也可以直接用**$(IncludePath)**替代这三行

  2. 语言

    • 如果报错#error You need C++17 to compile PyTorch,那么C++语言标准选择ISO C++17 标准 (/std:c++17)

    • 如果报错#error std 不明确的符号,那么把符合模式改为否

  3. 预编译头

    • 设置为不使用预编译头,否则可能会出现#include xxx 无法编译的问题

(4)链接器

  1. 常规-附加库目录

    和库目录一样

    复制代码
    CUDA路径\CUDA\v11.7\lib\x64
    libtorch路径\libtorch\lib
  2. 输入-附加依赖项

    • 在路径\libtorch\lib中检索cuda和torch,将对应的所有lib加入到附加依赖项中,以及c10等;

    • 在路径\libtorch\lib下要加入cudart.lib

    主要是以下:

    复制代码
    # 路径\libtorch\lib
    c10.lib
    c10_cuda.lib
    pytorch_jni.lib
    torch.lib
    torch_cuda.lib
    torch_cpu.lib
    # torch_cuda_cpp.lib
    # torch_cuda_cu.lib
    
    # 路径\CUDA\v11.7\lib
    cudart.lib
  3. 命令行

    复制代码
    指令一: # 适用cuda11.8版本、libtorch1.8.1
    /INCLUDE:?warp_size@cuda@at@@YAHXZ
    
    指令二: # 适用libtorch1.9.0
    /INCLUDE:"?searchsorted_cuda@native@at@@YA?AVTensor@2@AEBV32@0_N1@Z 
    
    指令三: # 适用1.10.2+cu113版本
    /INCLUDE:?warp_size@cuda@at@@YAHXZ -INCLUDE:?searchsorted_cuda@native@at@@YA?AVTensor@2@AEBV32@0_N1@Z 

四、报错

1、由于找不到xx.dll,无法继续执行代码。重新安装程序可能会解决此问题

解决方案:在调试-环境中加入

复制代码
# PATH=libtorch路径\libtorch\lib;%PATH%
PATH=F:\Software\Alib\libtorch\lib;%PATH%

参考链接:

C++下的libtorch部署------(三)window10下的Visual Studio配置libtorch

C++部署Pytorch(Libtorch)出现问题、错误汇总

相关推荐
凉茶钱3 小时前
【吃透C++】static、友元、内部类、匿名对象与拷贝编译器优化全解析
c++·青少年编程·visual studio
阿伟玩不懂3 小时前
接入第一个 MCP Server:让 AI 自己看你的数据库
ide·人工智能
下页、再停留16 小时前
【C#桌面客户端系列学习-2】在原来窗口基础上打开新窗口
c#·visual studio
liufeiyu19766 天前
VS 2026 升级后出现错误: 找不到指定的 SDK“Microsoft.NET.Sdk”
visual studio·vs 2026
霍霍的袁6 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
2501_915909066 天前
移动端开发工具链怎么组合比较好,iOS、Android、跨端三套配置方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_915918417 天前
iOS编程用什么软件好?主流工具Xcode、AppCode、CodeRunner与新兴快蝎对比
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
VIP_CQCRE7 天前
在 Visual Studio 里接入 Ace Data Cloud:让 AI 编程助手直接用上 OpenAI 兼容接口
openai·ai编程·开发工具·visual studio·acedatacloud
VIP_CQCRE7 天前
在 Visual Studio 里接入 AI 编程助手:用 Ace Data Cloud 打通 OpenAI 兼容接口与 LMLocal
openai·ai编程·visual studio·acedatacloud·lmlocal
free-elcmacom7 天前
发际线警告!手撕《C陷阱与缺陷》终极 BOSS:signal 函数与 typedef 魔法
c语言·开发语言·visual studio code·visual studio