VS2022+vcpkg+CMake环境下CMake无法找到CURL的问题求助
检查VS2022的CMake工具链与平台配置
打开项目的CMake设置(右键项目→CMake设置),手动指定vcpkg的scripts/buildsystems/vcpkg.cmake绝对路径到"CMake toolchain file"项,不要依赖环境变量自动加载。同时确认目标平台为x64-windows,与你安装的curl包架构完全匹配,配置类型选择Release或Debug需和后续编译保持一致。强制在CMakeLists.txt中绑定vcpkg工具链
若自动查找失效,直接在项目的CMakeLists.txt开头添加工具链指定逻辑,避免VS2022的全局配置干扰:set(CMAKE_TOOLCHAIN_FILE "你的vcpkg根目录/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file") find_package(CURL REQUIRED)也可直接指定curl的安装路径,进一步锁定依赖:
set(CURL_ROOT "你的vcpkg根目录/installed/x64-windows") find_package(CURL REQUIRED)清理VS2022的CMake缓存残留
删除项目目录下的CMakeCache.txt文件和CMakeFiles文件夹,彻底清除旧配置后重新生成缓存。必要时重启VS2022,避免进程残留的旧设置干扰新配置加载。重新确认vcpkg的集成状态
打开VS2022的开发者命令提示符,执行vcpkg integrate install,确保vcpkg与VS2022的集成关系正常。再执行vcpkg list curl,确认curl[core,non-http,schannel,ssl,sspi]:x64-windows已正确安装,若存在损坏迹象,执行vcpkg remove curl:x64-windows后重新安装对应版本。对齐CMake版本环境
查看VS2022CMake输出日志中的CMake版本,对比VS Code使用的CMake版本。若两者差异较大,在VS2022的CMake设置中,将"CMake executable"指定为VS Code使用的同版本CMake路径,消除版本差异导致的配置解析问题。
内容的提问来源于stack exchange,提问作者Ryan

