Linux/WSL环境下配置vcpkg的CMake项目找不到unofficial-sqlite3包求助
问题原因及修复方案
1. 修正CMAKE_TOOLCHAIN_FILE配置
CMAKE_TOOLCHAIN_FILE必须指向vcpkg工具链的完整.cmake路径,而非vcpkg根目录,且必须在project()指令前声明:
- 如果你是用
${vcpkg_root}变量赋值,先确保变量指向vcpkg根目录,再修改配置语句为:
SET(CMAKE_TOOLCHAIN_FILE "${vcpkg_root}/scripts/buildsystems/vcpkg.cmake")
- 避免使用硬编码用户名路径,也可以通过环境变量读取:
SET(CMAKE_TOOLCHAIN_FILE "$ENV{HOME}/vcpkg/scripts/buildsystems/vcpkg.cmake")
2. 确认依赖包与架构匹配
执行以下命令安装对应架构的sqlite3包,确保和你构建的目标架构一致:
vcpkg install sqlite3:x64-linux
3. 清理CMake缓存后重新配置
旧的CMake缓存会保留之前的错误配置,每次修改配置后需要先清理缓存:
- 如果使用VSCode CMake Tools插件,按
Ctrl+Shift+P调出命令面板,执行CMake: Delete Cache and Reconfigure - 手动配置的话直接删除build目录下所有内容,再重新执行cmake配置命令
4. VSCode插件参数配置(可选,避免硬编码路径)
如果不想在CMakeLists里写死工具链路径,可以在项目.vscode/settings.json中添加配置:
{ "cmake.configureArgs": [ "-DCMAKE_TOOLCHAIN_FILE=${env:HOME}/vcpkg/scripts/buildsystems/vcpkg.cmake" ] }
内容的提问来源于stack exchange,提问作者syheliel
相关产品推荐
相关产品推荐

