问题
我已经在MacOSX10.8上创建了一个浏览器插件,它可以在MacOSX10.8上运行。但是我从MacOSX10.7上的Chrome中得到了一个“无法加载UploaderPlugin(我插件的名字)”错误。
我的插件项目中包含了几个外部库。经过几个小时的工作,我发现当我从项目中删除libcurl库时,错误消失了,每次我尝试包含libcurl库时都会出现相同的错误。
因此很明显,这个错误与libcurl库有关。因为libcurl依赖于openssl和zlib。我再次从源代码编译了这三个库,但相同的错误仍未解决。
来自控制台的错误消息
13-10-10谷歌浏览器12:56:33.500谷歌Chrome Helper EH:错误加载/用户/管理/图书馆/因特网Plug-Ins/npUploaderPlugin.plugin/Contents/MacOS/npUploaderPlugin: dlopen(/User/admin/下午/ Plug-Ins/npUploaderPlugin.plugin/Contents/MacOS/npUploaderPlugin,)( 262):符号找不到:来自: /usr/lib/libSystem.B.dylib in / Plug-Ins/npUploaderPlugin.plugin/Contents/MacOS/npUploaderPlugin /admin/Library/Internet Plug-Ins/npUploaderPlugin.plugin/Contents/MacOS/npUploaderPlugin中引用的_CAST_ecb_encrypt :/usr/lib/_CAST_ecb_encrypt/ 13-10-10 10071:2819:1010/125633:ERROR:webplugin_delegate_proxy.cc(390) 12:56:33.501 0x0-0x2a82a8.com.google.Chrome: PluginMsg_Init返回false 10071:2819:1010/125633:ERROR:webplugin_impl.cc(258) 12:56:33.501 0x0-0x2a82a8.com.google.Chrome:下午无法初始化插件
从错误消息中判断,我可以看到,主要的问题是找不到符号_CAST_ecb_encrypt。我在谷歌上搜索了一下,一点也不关心。
环境环境
mac x 10.8 + chrome 28.0.1500.71 (工作正常)
mac x 10.7 + chrome 29.0.1547.22β(得到错误消息)
消防版本: 1.7
libcurl版本: 7.26.0
openssl版本: 1.0.1c
zlib版本: 1.2.7
C-战区版本: 1.10.0
任何建议都将不胜感激。如果您需要更详细的信息,请随时通知我。
发布于 2013-10-10 19:47:02
实际上,它可能与libcurl直接相关,也可能与libcurl没有直接关系;它可能是卷曲引起的,因为你是如何链接它的。我的第一个猜测是,您需要将部署目标设置为10.7;如果您构建在10.8上,默认情况下,您将使用的目标和sdk是10.8目标和10.8SDK。通常,您可以安全地使用10.8SDK为10.7构建,但是您可能需要设置部署目标。
您可以通过将-D CMAKE_OSX_DEPLOYMENT_TARGET=10.8添加到预备脚本来做到这一点。
../firebreath/prepmac.sh ./projectDir ./buildDir -D CMAKE_OSX_DEPLOYMENT_TARGET=10.8https://stackoverflow.com/questions/19288466
复制相似问题