【问题标题】:ffmpeg libswresample.so.2 needed by libavcodec.so not found找不到libavcodec.so所需的ffmpeg libswresample.so.2
【发布时间】:2017-11-15 15:51:44
【问题描述】:

我在本地构建了 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)

【问题讨论】:

  • libavresample 和 libswresample 有什么区别?也许这就是问题所在?

标签: ffmpeg


【解决方案1】:

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

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

问题解决了

【讨论】:

    猜你喜欢
    • 2011-02-28
    • 2019-05-10
    • 2020-08-13
    • 2016-10-14
    • 2019-06-20
    • 2023-03-27
    • 1970-01-01
    • 2021-04-09
    • 2015-05-03
    相关资源
    最近更新 更多