WSL Opencv with_ffmpeg conan1.60.0

news/2024/6/17 22:46:11 标签: opencv, ffmpeg

我是ubuntu18.

self.options[“opencv”].with_ffmpeg = True
关键是gcc版本需要conan支持,比如我的是:
compiler=gcc
compiler.version=7.5

此外还需要安装系统所需库:
https://qq742971636.blog.csdn.net/article/details/132559789

甚至来说,可以装一些系统编译好的,免得没有系统文件:

sudo apt-get install build-essential
sudo apt install ffmpeg --fix-missing
sudo apt-get install pkg-config
sudo apt install libopencv-dev

conanfile.py

from conans import ConanFile, CMake


class PhotoTranslateConan(ConanFile):
    name = "video_deidentification"
    license = ""
    url = "https://gitlab.upuphone.com/ai-group/client/sdk/public/computer_vision/video_deidentification.git"
    description = "video_deidentification"
    topics = ("video_deidentification")
    settings = "os", "compiler", "build_type", "arch"
    options = {"shared": [True, False], "fPIC": [True, False]}
    default_options = {"shared": True, "fPIC": True}
    generators = "cmake", "virtualenv"

    _cmake = None

    def requirements(self):
        self.requires("fmt/9.1.0") # spdlog需求
        self.requires("jsoncpp/1.9.5")
        self.requires("spdlog/1.11.0")
        self.requires("eigen/3.3.9")
        # self.requires("gtest/cci.20210126")
        # self.requires("boost/1.70.0")
        # self.requires("cpp-httplib/0.11.3")
        # self.requires("openssl/3.0.7")
        if self.settings.os != "Android":
            self.requires("opencv/4.5.5")

    def configure(self):
        if self.settings.os == "Windows":
            del self.options.fPIC

        if self.settings.os == "Windows":
            self.options["opencv"].with_ffmpeg = False

        if self.settings.os == "Linux":
            # print("######################", self.options["opencv"].with_ffmpeg)
            self.options["opencv"].with_ffmpeg = True
            self.options["opencv"].shared = False
            self.options["opencv"].contrib = False
            self.options["opencv"].contrib_freetype = False
            self.options["opencv"].with_gtk = False

    def build(self):
        cmake = self._configure_cmake()
        cmake.build()
        cmake.install()

    def _configure_cmake(self):
        if self._cmake:
            return self._cmake
        self._cmake = CMake(self)
        # 判断arch是否为armv7、x86
        if self.settings.arch == "armv7" or self.settings.arch == "x86":
            self._cmake.definitions["USE_32BIT"] = True
        self._cmake.configure()
        return self._cmake

conan profile

[settings]
os=Linux
os_build=Linux
arch=x86_64
arch_build=x86_64
compiler=gcc
compiler.version=7.5
compiler.libcxx=libstdc++11
build_type=Release
[options]
[build_requires]
[env]

编译完成:
在这里插入图片描述


http://www.niftyadmin.cn/n/4981230.html

相关文章

Java网络爬虫——jsoup快速上手,爬取京东数据。同时解决‘京东安全’防爬问题

Java网络爬虫——jsoup快速上手,爬取京东数据。同时解决‘京东安全’防爬问题 介绍 网络爬虫,就是在浏览器上,代替人类爬取数据,Java网络爬虫就是通过Java编写爬虫代码,代替人类从网络上爬取信息数据。程序员通过设定…

Linux系列讲解 —— 【systemd】下载及编译记录

Ubuntu18.04的init程序合并到了systemd中,本篇文章记录一下systemd的下载和编译。 1. 下载systemd源码 (1) 查看systemd版本号,用来确定需要下载的分支 sunsun-pc:~$ systemd --version systemd 237 PAM AUDIT SELINUX IMA APPARMOR SMACK SYSVINIT UT…

深入详解ThreadLocal

本文已收录至GitHub,推荐阅读 👉 Java随想录 微信公众号:Java随想录 原创不易,注重版权。转载请注明原作者和原文链接 文章目录 什么是ThreadLocalThreadLocal 原理set方法get方法remove方法 ThreadLocal 的Hash算法ThreadLocal …

学习JAVA打卡第四十五天

StringBuffer类 StringBuffer对象 String对象的字符序列是不可修改的,也就是说,String对象的字符序列的字符不能被修改、删除,即String对象的实体是不可以再发生变化,例如:对于 StringBuffer有三个构造方法&#xff…

Matlab图像处理-平移运算

几何运算 几何运算又称为几何变换,是将一幅图像中的坐标映射到另外一幅图像中的新坐标位置,它不改变图像的像素值,只是改变像素所在的几何位置,使原始图像按照需要产生位置、形状和大小的变化。 图像几何运算的一般定义为&#…

RT_Thread内核机制学习(一)

ARM架构及汇编 ARM芯片属于精简指令集计算机(RISC:Reduced Instruction Set Computer),它所使用的指令比较简单,有如下特点: 对内存只有读、写指令。对于数据的运算实在CPU内部实现。使用RISC指令的CPU复杂…

mac 安装Metasploit

官网安装:https://docs.metasploit.com/docs/using-metasploit/getting-started/nightly-installers.html 直接下载:https://osx.metasploit.com/metasploitframework-latest.pkg

介绍一下CDN

CDN(内容分发网络,Content Delivery Network)是一个由多个服务器组成的分布式网络,它的目的是将内容高效地传送到用户。下面是CDN的工作原理及其主要特点: 内容分发:当用户首次请求某一特定内容时&#xff…