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

使用vcpkg安装taglib后,CMake中find_package无法找到该库

问题描述

通过vcpkg清单模式安装taglib后,无法使用find_package(Taglib)(已尝试taglib、Taglib、TagLib等多种大小写写法),触发如下CMake错误:

CMake Error at vcpkg/scripts/buildsystems/vcpkg.cmake:853 (_find_package):
Could not find a package configuration file provided by "Taglib" with any
of the following names:

TaglibConfig.cmake
taglib-config.cmake

Add the installation prefix of "Taglib" to CMAKE_PREFIX_PATH or set
"Taglib_DIR" to a directory containing one of the above files. If "Taglib"
provides a separate development package or SDK, be sure it has been
installed.
Call Stack (most recent call first):
CMakeLists.txt:40 (find_package)

检查发现无taglib相关变量导出,Taglib_DIR值为Taglib_DIR-NOTFOUND。此前遇到类似问题可通过重建/重装、执行引导脚本解决,但此次无效。在./vcpkg/buildtrees/taglib/src/v1.13-5298fc2c7f.clean/下找到taglib-config.cmake,在./vcpkg/buildtrees/taglib/x64-linux-rel/下找到非cmake格式的taglib-config文件,但其他vcpkg安装的包通常会在vcpkg_installed/x64-linux/share/<package>下存放配置文件(如immer的ImmerConfig.cmake),taglib却没有该目录结构。已加载vcpkg工具链文件,求排查方向。

解决方案

采用PkgConfig替代find_package来引入taglib,修改CMakeLists.txt如下:

find_package(PkgConfig)

pkg_check_modules(TAGLIB REQUIRED IMPORTED_TARGET taglib)

target_link_libraries(thetarget PRIVATE PkgConfig::TAGLIB)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 16:12:37