ffmpeg 开启https, 提示“ERROR: openssl not found”

2019-09-26 13:26:56 浏览数 (1)

ffmpeg 可以使用libssl.so libcrypto.so动态库, 或者使用libssl.a libcrypto.a静态库, 接下来是说明明库存在,但是编译还是提示找不到openssl。

搜索ffmpeg源码,可以发现是在configure文件里打印的该提示。 源码如下:

代码语言:txt复制
enabled openssl           && { use_pkg_config openssl openssl openssl/ssl.h OPENSSL_init_ssl ||
                               check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto ||
                               use_pkg_config openssl openssl openssl/ssl.h SSL_library_init ||
                               check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto ||
                               check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 ||
                               check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 ||
                               die "ERROR: openssl not found"; }

可以发现ffmpeg在一个一个的尝试openssl,我的config.log里就显示已经检查到了最后一个,但是还是没有找到openssl。

原因是我用的openssl库比较新,老的openssl库使用‘SSL_library_init’初始化, 新版本openssl使用‘OPENSSL_init_ssl’初始化,又因为没有检查通过,所以这里就报这个错误了。 解决方法是增加一行检查‘check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto ’ 即可通过,上文是我已经增加过的。

0 人点赞