[英]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.