我正在使用Firebreath和Linux Arch Linux构建一个插件。当我尝试在另一个 Linux 系统(Ubuntu 11.10)中加载我的插件时,我收到以下错误。
[3957:3957:162659560325:ERROR:plugin_list.cc(448)] Loading plugin /home/admin/Documents/myplugin/0.1/npMediaDownload.so
[3957:3957:162659561719:ERROR:plugin_lib_posix.cc(158)] While reading plugin info, unable to load library /home/admin/Documents/myplugin/0.1/npMediaDownload.so (/usr/lib/libcurl.so.4: version `CURL_OPENSSL_4' not found (required by /home/admin/Documents/myplugin/0.1/npMediaDownload.so)), skipping.
我已经在我的MediaDownloadAPI.cpp上有了#include "curl/curl.h"
。在我的项目文件夹中,我添加了以下内容:
X11/projectDef.cmake
target_link_libraries(${PROJECT_NAME} ${PLUGIN_INTERNAL_DEPS} curl )
PluginConfig.cmake
add_firebreath_library(curl)
我在 Arch Linux 系统上编译和执行插件没有问题。
蒂亚。
最有可能的问题是您链接到 curl 的动态 (.so) 版本,并且您尝试加载它的系统缺少该库。
问题是因为Openssl版本。在 Arch linux Openssl 版本 4 及以上 Ubuntu 12.04 版本 3 中。我尝试将curl_easy_setopt(curl, CURLOPT_SSLVERSION, 3);
添加到我的程序中,但这并不能解决问题。我会将其标记为已解决,因为我知道问题是什么,但不知道解决方案。