eviacam在Arch/Manjaro Linux下的安装

  1. 安装base-devel

    安装编译工具,默认的依赖里没有编译工具

    sudo yay -S base-devel 
    

    如果安装编译工具,会报类似下面的错误:

    image-20240205190416490

  2. 安装eviacam

    yay -S eviacam
    

    这里主要是用AUR的方式来顺便把依赖安装了,也可以手动安装依赖,然后Clone源码

    这一步会报类似下面的错误:

    image-20240205190550222

  3. 根据错误提示修改源代码

    1. 引用的gtk3路径错误(此步骤请跳过,只是记录于此,因为按逻辑来说需要走这一步骤,这一步不行再走下一步)

      vim ~/.cache/yay/eviacam/PKGBUILD
      

      其他方式修改也可以,类似下图:

      image-20240205190719568

      修改后使用makepkg编译

      makepkg -si
      

      结果是编译失败,需要修改CPP源代码,此方法不行

      此处错误类似下图:

      image-20240205190813269

    2. 代码错误(**)NULL

      根据报错提示将报错的代码修改为NULL

      image-20240205190931888

      然后进入这个项目工程内部手动编译

      ./autogen.sh
      
      ./configure
      
      make 
      
      make install
      

      进行到make命令时此时会出现另一个代码错误,类似下图:

      image-20240205191231311

    3. 代码错误Case

      编译错误提示重复的case语句,那就注释掉其中一个

      image-20240205191321052

      不出意外,此时应该编译成功

      但是启动时并没有加载出摄像头画面

      此时使用命令行来启动软件

      eviacamloader
      

      此时控制台会出现类似下面的错误:

      image-20240205191703334

    4. OpenCV资源错误

      根据错误提示,可以知道是需要下面这三个文件,但是查看系统可以知道没有这三个文件(其实是同一个)

      /usr/local/share/eviacam/haarcascade_frontalface_default.xml
      
      /usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml
      
      /usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml
      

      翻看项目文件夹,可以知道这个文件是存在data文件夹下

      image-20240205191903212

      现在将这个文件复制到这个三处地方

      现是创建文件夹(第一个已有)

      sudo mkdir -p /usr/share/opencv/haarcascades/
      
      sudo mkdir -p /usr/share/OpenCV/haarcascades/
      

      复制项目下的data里的haarcascade_frontalface_default.xml文件到这三个目录里

      image-20240205192040236

    5. 选择正确的摄像头

      只有一个摄像头时不必考虑这个问题

    6. have fun

参考链接

[1] eviacam/INSTALL at master · cmauri/eviacam (github.com)

[2] Conflicting declarations of GdkWindow from gtk and wx · Issue #25 · cmauri/eviacam (github.com)

[3] AUR (en) - eviacam (archlinux.org)

posted @ 2024-02-05 19:30  当时明月在曾照彩云归  阅读(30)  评论(0编辑  收藏  举报