You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11下LibTorch安装构建问题求助(含未解决错误)

解决LibTorch构建时的glog冲突与语法错误问题

问题3:glog ERROR宏冲突

错误提示ERROR macro is defined. Define GLOG_NO_ABBREVIATED_SEVERITIES before including logging.h,核心原因是项目中其他代码或依赖已定义ERROR宏,与glog的缩写宏产生冲突。

解决方案:
不要仅在logging.h中添加定义,需确保该宏在所有glog头文件被包含之前生效,最可靠的方式有两种:

  1. 在CMakeLists.txt中全局定义:
add_definitions(-DGLOG_NO_ABBREVIATED_SEVERITIES)
  1. 在example-app.cpp的最开头(所有#include语句之前)添加:
#define GLOG_NO_ABBREVIATED_SEVERITIES
#include <torch/torch.h>
// 其他头文件...

问题4:LibTorch依赖语法错误

错误显示大量来自vcpkg路径下的LibTorch头文件语法错误,本质是vcpkg提供的依赖与LibTorch自带依赖版本不兼容,CMake错误地优先使用了vcpkg中的头文件,而非LibTorch包内自带的依赖组件。

解决方案:

  1. 修改CMakeLists.txt,确保LibTorch的依赖优先级高于vcpkg,在find_package(Torch)之前添加:
# 强制CMake优先查找LibTorch自带的依赖配置
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};${TORCH_INSTALL_PREFIX}")
  1. 若必须使用vcpkg,在CMake命令中明确隔离LibTorch依赖,避免vcpkg干扰:
cmake -DCMAKE_PREFIX_PATH="C:/Users/evana/Documents/MyPrograms/C++/Chess2/libtorch-win-shared-with-deps-2.2.1+cu121" -DCMAKE_TOOLCHAIN_FILE="C:/Users/evana/Documents/OtherPrograms/vcpkg/scripts/buildsystems/vcpkg.cmake" -DTorch_DIR="C:/Users/evana/Documents/MyPrograms/C++/Chess2/libtorch-win-shared-with-deps-2.2.1+cu121/libtorch/share/cmake/Torch" ..
  1. 清理现有build目录,重置缓存后重新构建:
rmdir /s /q build
mkdir build
cd build
# 执行上述修改后的CMake配置命令
cmake --build . --config Release

额外提示:

  • 确保使用的是libtorch-win-shared-with-deps完整包,它自带所有必需依赖(包括glog、c10等),无需通过vcpkg重复安装这些组件。
  • 避免让CMake同时引入多个来源的相同依赖,否则极易引发版本冲突和语法错误。

内容的提问来源于stack exchange,提问作者Evan Abbott

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 10:15:35