首页 > 其他分享 >编译opencv后的跨平台使用问题

编译opencv后的跨平台使用问题

时间:2024-12-03 11:26:37浏览次数:5  
标签:x86 .. 编译 aarch64 gnu opencv 跨平台 64 linux

arm64上编译opencv得到opencv_world.so,放到x86_64平台,用CLion交叉编译arm64的程序时会报一堆的缺少依赖的so文件。

/usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: warning: libjpeg.so.8, needed by /lib/aarch64-linux-gnu/libopencv_world.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: warning: libwebp.so.6, needed by /lib/aarch64-linux-gnu/libopencv_world.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: warning: libpng16.so.16, needed by /lib/aarch64-linux-gnu/libopencv_world.so, not found (try using -rpath or -rpath-link)

其实x86_64上都有这些so文件,但不是arm64版本的so,所以导致了这个问题。拷贝arm64的这些so到x86_64上的 /usr/lib/aarch64-linux-gnu/ 文件夹里就可以解决。但是太麻烦了。

最稳妥的做法是,arm64、x86_64上都编译opencv,其中x86_64上编译两种版本的(x86_64版本的和arm64版本的)。

因为,虽然x86_64上交叉编译的arm64版本的opencv_world.so可以放到arm64平台直接用,但是imshow时报缺少GTK,这个在x86_64上编译时包含GTK失败,即使勾选了WITH_GTK也是失败,因为x86_64上没有arm64的GTK。

标签:x86,..,编译,aarch64,gnu,opencv,跨平台,64,linux
From: https://www.cnblogs.com/xixixing/p/18583698

相关文章

  • Notepad++ 轻量级跨平台文本编辑器,一款轻便且开源的文本与代码编辑器,备受资深用户的青
    一、概述Notepad++是一款免费开源的文本及源代码编辑器,兼容多种编程语言。这款软件在MSWindows操作系统上运行,并遵循GPL许可证发布。凭借其轻巧高效的特性,Notepad++赢得了众多开发者的青睐,成为他们的首选编辑工具。Notepad++由C++编写,因此性能卓越。它体积轻巧(完整安装包仅3......
  • OpenCV + Visual Studio2022 环境配置
    下载和安装OpenCV下载OpenCV:从OpenCV官方网站(https://opencv.org/releases/)下载适合你操作系统和VisualStudio版本的OpenCV版本。通常有Windows版本的预编译库可供下载,这些库文件可以大大简化安装过程。安装OpenCV:下载完成后,运行安装程序。一般情况下,你可以将O......
  • 分享一个纯Python开发的系统程序,基于VSCode + WxPython开发的跨平台应用系统
    本项目是基于wxPython开发的GUI应用,主要用于管理基础框架内容,包括用户、角色、机构、权限、日志、菜单、字典、附件、通用编码规则、配置管理等基础框架内容。愿景是构建一个基于Python后端WebAPI或者本地多种数据库操作的通用应用系统,为各类企业提供一站式的管理系统解决......
  • 编译OpenCV——jetson嵌入式平台
    jetson嵌入式平台的系统为:ubuntu20.04aarch64不再研究Ubuntux64上交叉编译ubuntuaarch64的OpenCV库,因为无法识别到arm的GTK导致编译不进去,最终imshow时会报如下错误:modules/highgui/src/window.cpp:611:error:(-2)Thefunctionisnotimplemented.Rebuildthelibraryw......
  • OSG开发笔记(三十六):osg3.4.0基于windows平台msvc2017x64编译器编译并移植Demo
    前言  本篇编译osg3.4.0的msvc2017x64版本,之前使用的都是mingw32版本。 OSG编译步骤一:下载解压  下载3.4.0版本。  步骤二:使用cmake配置        因为是64位,可以通过后续配置cmake用x64,也可以直接选择构架:    继续:    ......
  • OpenCV图像处理——图像滤波原理与代码实现(C++/Python)
    概述本节主要总结常见的图像噪声,以及降噪的方法。1.图像噪声图像噪声是指图像中不需要的、随机出现的像素值变化,这些变化可能是由于传感器误差、传输误差、环境干扰等因素引起的。图像噪声会降低图像质量,影响图像处理和分析的结果。1.1高斯噪声高斯噪声,也称为白噪声......
  • [C#] 对32位图像进行水平翻转(FlipX)的跨平台SIMD硬件加速向量算法(使用VectorTraits的
    在上一篇文章里,我们讲解了图像的垂直翻转(FlipY)算法,于是本文来探讨水平翻转(FlipX)。先讲解比较容易的32位图像水平翻转算法,便于后续文章来探讨复杂的24位图像水平翻转算法。本文除了会给出标量算法外,还会给出向量算法。且这些算法是跨平台的,同一份源代码,能在X86(Sse、Avx等指令......
  • [C#] 对32位图像进行水平翻转(FlipX)的跨平台SIMD硬件加速向量算法(使用VectorTraits的
    在上一篇文章里,我们讲解了图像的垂直翻转(FlipY)算法,于是本文来探讨水平翻转(FlipX)。先讲解比较容易的32位图像水平翻转算法,便于后续文章来探讨复杂的24位图像水平翻转算法。本文除了会给出标量算法外,还会给出向量算法。且这些算法是跨平台的,同一份源代码,能在X86(Sse、Avx等指令......
  • [C#] 对32位图像进行水平翻转(FlipX)的跨平台SIMD硬件加速向量算法(使用VectorTraits的
    在上一篇文章里,我们讲解了图像的垂直翻转(FlipY)算法,于是本文来探讨水平翻转(FlipX)。先讲解比较容易的32位图像水平翻转算法,便于后续文章来探讨复杂的24位图像水平翻转算法。本文除了会给出标量算法外,还会给出向量算法。且这些算法是跨平台的,同一份源代码,能在X86(Sse、Avx等指令......
  • 深入理解代码编译:从源码到可执行程序的奇妙之旅
     在软件开发的广袤宇宙中,代码编译无疑是一颗极为耀眼的恒星,它是将人类智慧结晶——源代码,转化为计算机能够理解并执行的机器语言指令的神奇魔法。今天,就让我们一同踏上这趟深入代码编译核心的探索之旅。 一、编译的基本概念与重要性 编译,简单来讲,就是把程序员用高级编程......