如何修复vcpkg提示‘找不到unofficial-skia提供的包配置文件’错误?
我按照微软官方指南使用vcpkg,但任何库都无法正常工作,试过skia和unofficial-skia。当前环境是Windows系统,使用Clang编译器。
错误信息
[main] Configuring project: project
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" -DCMAKE_TOOLCHAIN_FILE=C:/Users/PC/Desktop/Forks/vcpkg/scripts/buildsystems/vcpkg.cmake -SC:/Users/PC/Desktop/Experiments/project -BC:/Users/PC/Desktop/Experiments/project/build -G Ninja
[cmake] CMake Error at CMakeLists.txt:6 (find_package):
[cmake] Could not find a package configuration file provided by "unofficial-skia"
[cmake] with any of the following names:
[cmake]
[cmake] unofficial-skiaConfig.cmake
[cmake] unofficial-skia-config.cmake
[cmake]
[cmake] Add the installation prefix of "unofficial-skia" to CMAKE_PREFIX_PATH or
[cmake] set "unofficial-skia_DIR" to a directory containing one of the above files.
[cmake] If "unofficial-skia" provides a separate development package or SDK, be
[cmake] sure it has been installed.
[cmake]
[cmake]
[cmake] -- Configuring incomplete, errors occurred!
[proc] The command: "C:\Program Files\CMake\bin\cmake.EXE" -DCMAKE_TOOLCHAIN_FILE=C:/Users/PC/Desktop/Forks/vcpkg/scripts/buildsystems/vcpkg.cmake -SC:/Users/PC/Desktop/Experiments/project -BC:/Users/PC/Desktop/Experiments/project/build -G Ninja exited with code: 1
我的CMakeLists.txt(错误出现在find_package行)
cmake_minimum_required(VERSION 3.10) project(HelloWorld) set(CMAKE_CXX_STANDARD 23) find_package(unofficial-skia CONFIG REQUIRED) add_executable(HelloWorld helloworld.cpp)
确认vcpkg已安装对应环境的unofficial-skia
打开命令行,进入vcpkg所在目录(C:/Users/PC/Desktop/Forks/vcpkg),执行适配Clang环境的安装命令:vcpkg install unofficial-skia:x64-windows-clang若为32位环境,替换为
x86-windows-clang,必须确保triplet与编译环境匹配。完成vcpkg与CMake的集成
执行以下命令让vcpkg自动配置CMake工具链:vcpkg integrate install修正CMakeLists.txt的依赖链接
找到库后需将其链接到可执行文件,修改后的CMakeLists.txt如下:cmake_minimum_required(VERSION 3.10) project(HelloWorld) set(CMAKE_CXX_STANDARD 23) find_package(unofficial-skia CONFIG REQUIRED) add_executable(HelloWorld helloworld.cpp) # 链接unofficial-skia库 target_link_libraries(HelloWorld PRIVATE unofficial::skia)验证CMake工具链路径
检查执行CMake时指定的CMAKE_TOOLCHAIN_FILE路径是否与实际vcpkg安装目录一致,避免拼写错误。清理旧构建缓存
删除项目下的build目录,重新运行CMake配置命令,排除缓存干扰。
内容的提问来源于stack exchange,提问作者woowaaahehahah




