Windows+VS环境下LibTorch跨项目引用失败,报C1083错误求助
问题描述
Windows系统下使用Visual Studio开发,已配置CUDA Toolkit 12.1、最新版CMake及LibTorch 12.1 Release版本,严格遵循官方步骤构建示例项目时完全成功,但直接在新建的Visual Studio项目中引入#include <torch>时,出现编译错误:
Error C1083 Cannot open include file: 'torch': No such file or directory
解决方案
方案一:用CMake生成VS项目(官方推荐)
LibTorch官方优先支持CMake管理项目,避免手动配置出错:
- 新建项目文件夹,创建
CMakeLists.txt,内容如下:cmake_minimum_required(VERSION 3.18 FATAL_ERROR) project(Project1) find_package(Torch REQUIRED) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}") add_executable(Project1 main.cpp) target_link_libraries(Project1 "${TORCH_LIBRARIES}") set_property(TARGET Project1 PROPERTY CXX_STANDARD 17) - 在项目目录下执行以下命令(和示例项目一致):
mkdir build cd build cmake -DCMAKE_PREFIX_PATH=C:\Packages\libtorch -G "Visual Studio 17 2022" .. cmake --build . --config Release - 打开生成的
Project1.sln即可直接编译使用LibTorch。
方案二:手动配置现有VS项目
若需直接使用已创建的VS项目,需手动添加LibTorch的路径配置:
- 右键VS项目 → 属性
- 配置属性 → C/C++ → 常规:在附加包含目录中添加:
C:\Packages\libtorch\includeC:\Packages\libtorch\include\torch\csrc\api\include
- 配置属性 → 链接器 → 常规:在附加库目录中添加
C:\Packages\libtorch\lib - 配置属性 → 链接器 → 输入:在附加依赖项中添加LibTorch的lib文件(Release模式下可添加
torch.lib、torch_cpu.lib、c10.lib等,具体可查看C:\Packages\libtorch\lib目录下的所有.lib文件) - 确保项目配置为Release x64(LibTorch仅提供x64版本,Release版LibTorch无法兼容Debug项目配置)
- 将
C:\Packages\libtorch\lib目录下的所有.dll文件复制到项目的Release输出目录,避免运行时缺失动态库。
内容的提问来源于stack exchange,提问作者Martin Haus
相关产品推荐
相关产品推荐

