我尝试过的:
- gcc -L/路径/到/lib/-llib ...
- gcc -l/path/to/lib/lib.so.xxx ...
- 更新ldconfig
- 添加了 LD_LIBRARY_PATH 路径
file
显示正确的构建版本并链接到正确的文件
无论如何,我仍然得到/usr/bin/ld: cannot find -lavfilter
有任何想法吗?
答案1
ld
查找名为 的共享库或链接描述文件libsomething.so
,或名为 的静态库libsomething.a
,其中与给定的参数something
匹配。名为 的库(其中是库的版本)在运行时使用,而不是用于构建,并且不会使用它们。-lsomething
ld
libsomething.so.x.y.z
x.y.z
ld
因此,您需要安装要链接到的库的开发包,例如libavfilter-dev
您的情况(假设是 Debian 或衍生版本)。