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

相关推荐
cvcode_study9 小时前
Ollama+ComfyUI 多模态
大数据·人工智能·python
Bode_20029 小时前
决策设计方法
人工智能·交互·智能工厂
AI砖家9 小时前
Kimi K3 本地部署全解析:需要什么配置的电脑,到底要花多少钱?
人工智能·ai编程
H0311169859 小时前
教学设计PPT模板平台选用参考
人工智能
众壹新能源科技9 小时前
功率预测误差考核怎么降?从气象源到上报口径的排查清单
运维·人工智能·自动化
这张生成的图像能检测吗9 小时前
(论文速读)SubspaceAD:用 PCA 子空间做 Training-Free Few-Shot 异常检测
人工智能·机器学习·pca·异常检测·少样本学习
QT界面美化性能优化9 小时前
QT+AI:使用AI技术为QT应用程序赋能
c++·人工智能·qt·opencv·qt教程·qt6.3
LadiesAndGentlemen9 小时前
开源地理空间智能项目中的本体思想 4-4:收尾篇——五种做法怎么选,治理之后还剩什么活
人工智能·语言模型·开源·aigc·知识图谱
四方云9 小时前
把电话能力无缝嵌入企业自有CRM
大数据·人工智能
STQY燊桐启元(深圳)电子科技10 小时前
医疗精密电源散热方案:相变陶瓷片保障医疗设备长效稳定低干扰
大数据·网络·人工智能