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;
}

相关推荐
agicall.com2 小时前
座机通话双方语音分离技术解决方案详解
人工智能·语音识别·信创电话助手·座机语音转文字·固话座机录音转文字
AI机器学习算法2 小时前
《动手学深度学习PyTorch版》笔记
人工智能·学习·机器学习
Goboy2 小时前
「我的第一次移动端 AI 办公」TRAE SOLO 三端联动, 通勤路上就把活干了,这设计,老罗看了都想当场退役
人工智能·ai编程·trae
qq_452396232 小时前
第二十篇:《UI自动化测试的未来:AI驱动的智能测试与低代码平台》
人工智能·低代码·ui
视觉&物联智能3 小时前
【杂谈】-人工智能风险文化对组织决策的深远影响
人工智能·安全·ai·agi
β添砖java3 小时前
深度学习(12)Kaggle房价竞赛
人工智能·深度学习
冬奇Lab3 小时前
RAG 系列(十):混合检索——让召回更全面
人工智能·llm
冬奇Lab3 小时前
一天一个开源项目(第95篇):Claude for Financial Services - Anthropic 官方金融行业 AI 代理套件
人工智能·开源·资讯
bbsh20993 小时前
AI辅助编程时代,企业级网站系统建设为什么还需要专业平台?
人工智能
05候补工程师3 小时前
[实战复盘] 拒绝 AI 屎山!我从设计模式中学到的“调教”AI 新范式
人工智能·python·设计模式·ai·ai编程