我有一些问题与安装OpenCV与conrib模块从源代码和原型库。
我有一个程序,需要Protobuf3.1。以及带有contrib模块的OpenCV 3.2。在从源代码编译和安装这两个程序之后,程序本身编译和链接良好。在执行程序时,我得到以下错误:
此程序是针对2.6.1版本的协议缓冲区运行库编译的,该版本与安装的版本(3.1.0)不兼容。联系程序作者进行更新。如果您自己编译程序,请确保您的标头来自与链接时库相同的协议缓冲区版本。(版本验证失败的"/build/mir-pkdHET/mir-0.21.0 16.04.20160330 /obj-x86_64-linux-gnu/src/protobuf/mir_protobuf.pb.cc"。)终止调用抛出一个实例'google::原型f::FatalExc0019'什么():此程序是根据协议缓冲区运行时库的版本2.6.1编译的,该版本与安装的版本(3.1.0)不兼容。联系程序作者进行更新。如果您自己编译程序,请确保您的标头来自与链接时库相同的协议缓冲区版本。(版本验证在/build/mir-pkdHET/mir-0.21.0 16.04.20160330 /obj-x86_64-linux-gnu/src/protobuf/mir_protobuf.pb.cc中失败。)
查看我的软件的链接库,我发现protobuf包含在2.6中。(so.9)和3.1(so.11)以及利伯米尔*。所以
ldd localization | grep protobuf*
libprotobuf.so.11 => /usr/local/lib/libprotobuf.so.11 (0x00007f1797df8000)
libmirprotobuf.so.3 => /usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3 (0x00007f178a751000)
libprotobuf-lite.so.9 => /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9 (0x00007f178a31b000)
查看链接库,我发现Opencv链接
虽然我的协议3.1是在 /usr/local/也是opencv使用lib协议3.1时,建设DNN部件等。
~$ ldd /usr/local/bin/opencv* | grep libproto*
libprotobuf-lite.so.9 => /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9
ldd /usr/local/bin/opencv* | grep libmir*
libmirclient.so.9 => /usr/lib/x86_64-linux-gnu/libmirclient.so.9 (0x00007f1d59b4c000)
libmircommon.so.5 => /usr/lib/x86_64-linux-gnu/libmircommon.so.5 (0x00007f1d56d5f000)
libmirprotobuf.so.3 => /usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3 (0x00007f1d56afe000)
非常感谢你的努力。
弗洛里安酒店
好的,构建WITH_QT=ON消除了对libmir的需求,因此libprobuf 2.6
下面是完整的cmake命令,它起到了作用:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
当我尝试安装sonata admin和LiipFunctionalTestBundle时,它给我一个验证器问题, FileLoaderLoadExc0019:可捕获的致命错误:参数1传递给Sonata\AdminBundle\Admin\Admin::setValidator()必须实现接口Symfony\Component\Validator\ValidatorInterface,Liip\Fu
在JSP中,我可以使用include共享超文本标记语言代码: 在我的生活中,我不知道ASP.NET我应该如何包含共享的超文本标记语言。我可以使用模板控件,但这真的不是一回事。我可以使用网站母版页和内容占位符,但这也不一样,需要一种不同的方法来开发我的页面。 我是运气不好还是ASP中有函数。NET类似于JSP的包含?
.在我的日志中,当我试图升级apk时,我得到以下信息: .orginal应用程序已经生产了4年多,是用Eclipse编写的,它安装在我的旧硬盘上。 六个月前,我的老板给我买了一个SSD驱动器,我安装了Android Studio。我迁移了旧的项目,它构建良好,它将安装到一个设备上,没有安装以前的版本。 谁能告诉我为什么Android说我的升级是用不同的密钥签名的? [更新1] 我已经提取了新旧AP
问题内容: 通常,我需要下载一个网页,然后离线对其进行编辑。我尝试了一些工具,它们缺少的主要功能是下载CSS文件中引用的图像。 是否有一个工具(用于Linux)可以下载所有内容,以便该网页可以离线呈现相同内容(不包括AJAX)? 问题答案: wget –page-requisites http://example.com/your/page.html 此选项使Wget下载正确显示给定html页面所
问题内容: 我们有一个以异常结尾的包,例如 直到eclipse 3.3为止,我们的代码库都没有问题,但是当我们转到eclipse 3.4时,它开始给出与此软件包相关的错误: 当我将包名称重构为abcexceptions时,没有任何问题。这是由于eclipse 3.4中的错误还是有一些设置可以纠正此行为? 问题答案: 我在eclipse中更改了编译选项之一,问题消失了。在工作空间属性下:Java编译
我有两个XSD,其中一个XSD包含一个元素,该元素可以包含第二个XSD中的元素。基本上,XSD1有一个元素“etta”,它可以包含XSD2中的任何元素。 我使用xjc生成类,当它被反序列化时,元元素将XSD2中的元素作为JAXBElements包含,而不是XSD2中生成的实际类。我在我的程序中包含了这两组类,包信息是正确的。 这就是我定义XSD的方式。我想问题在于我的“任何”元素。 因此,基本上我