我想将我的 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
现在可以了!谢谢@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}")