gpt4 book ai didi

c++ - 在 32 位 ubuntu 中以 64 位编译的 opencv 运行

转载 作者:搜寻专家 更新时间:2023-10-31 01:47:20 24 4
gpt4 key购买 nike

我已经创建了一个示例 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 位 Ubuntu 机器上,您需要确保您的可执行文件及其所有依赖项都是 32 位。这意味着您需要以 32 位(或从第 3 方获取)重新编译 .so
要编译 32 位库,您需要向编译器和链接器表明这一点,最有可能使用标志(例如 -m32gcc 的情况下)

关于c++ - 在 32 位 ubuntu 中以 64 位编译的 opencv 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19329662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com