PKG_CONFIG_PATH 未找到所需的包

问题描述 投票:0回答:1

我想将我的 C++ 应用程序与任何库链接,例如 libavcodec.so 我尝试方法一

set(CMAKE_PREFIX_PATH ${pkgconfig_path})

但是当我尝试构建时

cmake -S Qt_FFMpeg/src/ -B Qt_FFMpeg/build-host/ --fresh

我收到错误“未找到所需的包”
好的,我试试方法二

set(ENV{PKG_CONFIG_PATH} ${pkgconfig_path})

而且它有效。为什么方法一不起作用? 完整代码这里

我使用Ubuntu 22 x86_64,cmake 3.26.4

cmake environment-variables libav libavcodec pkg-config
1个回答
0
投票

现在可以了!谢谢@Tsyvarev

使用环境变量

cmake_path(SET pkgconfig_path "${CMAKE_CURRENT_LIST_DIR}/../../FFMpeg_themself/ffmpeg_build/lib/pkgconfig/" NORMALIZE)
set(ENV{PKG_CONFIG_PATH} ${pkgconfig_path})
message("I found $ENV{PKG_CONFIG_PATH}")

没有环境变量

cmake_path(SET pkgconfig_path "${CMAKE_CURRENT_LIST_DIR}/../../FFMpeg_themself/ffmpeg_build/" NORMALIZE)
set(CMAKE_PREFIX_PATH ${pkgconfig_path})
message("I found ${CMAKE_PREFIX_PATH}")
© www.soinside.com 2019 - 2024. All rights reserved.