找不到libavcodec.so所需的ffmpeg libswresample.so.2

时间:2017-06-13 18:17:18

标签: ffmpeg

我有本地构建的ffmpeg库,但我无法在程序中链接它们。 我尝试过CMAKE_INSTALL_RPATH,但仍无法找到libswresample。 奇怪的是,所有库libswresample,libavcodec等都在同一个文件夹中(/local/git/PSG/libs/ffmpeg/../ffmpeg-install/lib/)。找到libavcodec,但不是libswresample。

所以,我不明白为什么gcc抱怨?

我使用target_link_libraries()来链接ffmpeg库。 我做错了什么?

/usr/bin/ld: warning: libswresample.so.2, needed by /local/git/PSG/libs/ffmpeg/../ffmpeg-install/lib/libavcodec.so, not found (try using -rpath or -rpath-link)

1 个答案:

答案 0 :(得分:0)

问题是libswresample.so.2是从系统路径中获取的。不幸的是,ffmpeg生成的所有lib都必须在target_link_libraries()中显式链接。通过显式给出libswresample的绝对路径,例如

find_library(libswresample_path NAMES libswresample PATH "the/path/to/your/libresample"), 

问题解决了