繁体   English   中英

在64位中编译的opencv在32位ubuntu中运行

[英]opencv compiled in 64 bit run in 32 bit ubuntu

我创建了一个示例Opencv C ++“ .so”文件,该文件将仅显示通过opencv Python脚本传递的图像(即,我的python脚本将调用C ++“ .so”文件并将图像传递给它)。 python和C ++之间的通信是通过Boost库完成的。

我在64位ubuntu机器上完成了所有这些操作。现在,我需要在32位ubuntu机器上运行名为“ .so”的python脚本,在此我得到以下错误。

cv2.so: wrong ELF class: ELFCLASS64

这是因为opencv“ cv2.so”预期为32位吗? 如何在ubuntu 64位计算机上创建32位“ cv2.so”? 我还需要创建自己的32位“ .so”文件(显示图像)吗?

你是对的。 32-bit Ubuntu计算机上,您需要确保可执行文件及其所有依赖项均为32-bit 这意味着您需要以32-bit重新编译.so (或从第3方获得它)。
要编译32位库,您需要向编译器和链接器指出这一点,最有可能使用一个标志(例如,在gcc情况下为-m32

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM