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

CMake检测到Catch2但因版本不兼容无法使用的问题咨询

问题原因及解决方法

核心原因

错误提示里的(64bit)是关键——你的CMake工程默认使用32位(x86)架构,但你安装的Catch2是64位(x64)版本,两者架构不匹配,导致CMake无法找到兼容的配置文件(CMake的错误提示用了"版本不匹配"的描述,实际是架构不兼容的问题)。

解决方法

方法一:切换CMake工程为64位架构

如果你的目标是使用64位的Catch2,只需让CMake生成64位的工程:

  • CMake-GUI操作:点击"Configure"时,选择对应VS版本的x64生成器(比如Visual Studio 17 2022 - x64)
  • 命令行操作:
    cmake -Bbuild -G "Visual Studio 17 2022" -A x64 .
    
    注意替换Visual Studio 17 2022为你实际安装的VS版本(比如VS2019对应Visual Studio 16 2019)

方法二:重新安装32位版本的Catch2

如果你的工程必须用32位,重新编译安装32位的Catch2:

git clone git@github.com:catchorg/Catch2.git
cd Catch2
# 指定32位架构编译
cmake -Bbuild . -DBUILD_TESTING=OFF -A Win32
cmake --build build/ --config release --target install

安装完成后,原CMakeLists.txt的find_package(Catch2)即可正常工作。

方法三:手动指定Catch2路径(应急方案)

确保工程是64位架构的前提下,直接指定Catch2的配置文件路径:

project(UnitTest)
cmake_minimum_required(VERSION 3.20)
set(CMAKE_CXX_STANDARD 17)
# 手动指定64位Catch2的配置路径
find_package(Catch2 3.3.2 REQUIRED 
  PATHS "C:/Program Files (x86)/Catch2/lib/cmake/Catch2" 
  NO_DEFAULT_PATH
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 23:47:20