VS2026+LibTorch(CPU版)环境搭建

一、环境搭建

  1. 完成LibTorch(CPU版)下载、安装及环境配置

  2. 编写,调用LibTorch接口,输出版本及CPU设备信息

二、分步实操步骤

步骤1:下载CPU版的LibTorch

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

  2. 参数选择:

OS:Windows

Package:LibTorch

Language:C++

Compute Platform:CPU

版本:2.1.0及以上,下载含「win-x64-cpu」的压缩包

  1. 解压尽量解压到无中文、无空格路径(例:F:/third_party_library/libtorch)

步骤2:环境变量配置(VS2026适配)

  1. 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」

  2. 系统变量新增:

变量名:LIBTORCH

变量值:LibTorch路径

  1. 编辑系统变量「Path」:

%LIBTORCH%\lib(LibTorch依赖库路径)

VS2026编译器路径

步骤3:CMakeLists.txt编写

核心需求:适配VS2026、禁用CUDA检测、解决路径转义、链接LibTorch库,完整可直接复制使用:

复制代码
cmake_minimum_required(VERSION 3.28)  # 升级到3.28+,适配VS2026
project(LLM_LibTorch)

set(CUDA_TOOLKIT_ROOT_DIR "" CACHE STRING "Disable CUDA" FORCE)
set(TORCH_USE_CUDA_DSA OFF CACHE BOOL "" FORCE)
set(TORCH_NO_CUDA ON CACHE BOOL "" FORCE)  # 强制禁用CUDA
set(CMAKE_CUDA_COMPILER OFF CACHE BOOL "" FORCE)

# 适配VS2026的C++标准
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(MSVC)
    add_compile_options(/W3 /WX- /wd4251 /wd4275 /wd4996)
    set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
endif()

# 配置纯CPU版LibTorch路径
set(LIBTORCH_PATH "F:/third_party_library/libtorch" CACHE PATH "LibTorch CPU版路径")
set(CMAKE_PREFIX_PATH ${LIBTORCH_PATH})

# 查找LibTorch库
find_package(Torch REQUIRED)
message(STATUS "LibTorch路径: ${TORCH_INSTALL_PREFIX}")
message(STATUS "LibTorch是否含CUDA: ${TORCH_USE_CUDA}")  # 输出应为OFF

add_executable(LLM_LibTorch LLM_LibTorch.cpp)

# 链接LibTorch库
target_link_libraries(LLM_LibTorch PRIVATE "${TORCH_LIBRARIES}")

# 配置头文件搜索路径
target_include_directories(LLM_LibTorch PRIVATE
    ${PROJECT_SOURCE_DIR}
    ${LIBTORCH_PATH}/include
    ${LIBTORCH_PATH}/include/torch/csrc/api/include
)

# VS2026专属:复制DLL到输出目录
if (MSVC)
    file(GLOB TORCH_DLLS "${LIBTORCH_PATH}/lib/*.dll")
    add_custom_command(TARGET LLM_LibTorch
                       POST_BUILD
                       COMMAND ${CMAKE_COMMAND} -E copy_if_different
                       ${TORCH_DLLS}
                       $<TARGET_FILE_DIR:LLM_LibTorch>
                       COMMENT "Copying LibTorch DLLs to output directory")
endif()

# 设置输出目录
set_target_properties(LLM_LibTorch PROPERTIES
    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
    DEBUG_POSTFIX "_d"
)

步骤4:程序编写

创建LLM_LibTorch.cpp主要是输出LibTorch版本、CPU设备信息,验证库链接,确保环境无误:

复制代码
#include "LLM_LibTorch.h"
#include <torch/torch.h>
#include <iostream>

// 实现utils.h的函数
torch::Tensor create_tensor(int rows, int cols) {
    return torch::ones({ rows, cols }, torch::kCPU);
}

int main() {
    std::cout << "LibTorch Version: " << TORCH_VERSION_MAJOR << "."
        << TORCH_VERSION_MINOR << "." << TORCH_VERSION_PATCH << std::endl;
    auto tensor = create_tensor(3, 4);
    std::cout << "Custom Tensor:\n" << tensor << std::endl;
    return 0;
}

相关推荐
北龙云海1 分钟前
AI驱动数据库运维变革:北龙云海智能巡检平台实践与展望
运维·数据库·人工智能
GlobalInfo3 分钟前
2026年全球无人机清洗系统市场深度分析:规模、竞争格局与AI自主作业演进趋势
大数据·人工智能·ai·无人机
中杯可乐多加冰7 分钟前
从 SDK 到桌面应用:我用科沃斯八界把视觉、导航和机械臂接起来
人工智能·机器人·sdk·具身智能·科沃斯·八界创造者计划·科沃斯八界
创世虚拟世界9 分钟前
我做了一个 3D 虚拟世界基底,基于这个再做 3D 虚拟世界或者元宇宙,会事半功倍
javascript·人工智能·3d·gitee·虚拟现实
AI职业加油站10 分钟前
AI 校招现状:大模型应用工程师证书,助力简历能力证明
大数据·运维·人工智能·学习·职场发展
知几蜗牛27 分钟前
GPT-6 与 Intelligent UI:从回答到可审计操作的产品迁移
人工智能
蟕初的梦想27 分钟前
Claude Haiku 5.5 效能实测与场景应用指南
数据库·人工智能·大模型
liron7132 分钟前
技术的诞生与演化--技术自举及其冷启动
人工智能·深度学习·神经网络·自然语言处理
知几蜗牛35 分钟前
Java 17 视觉识别结果的金额与字段门禁实现
人工智能
嘻嘻的AI日记36 分钟前
人工合规审查有盲区,智能合规如何补足文件风险识别短板
人工智能