eviacam在Arch/Manjaro Linux下的安装
-
安装base-devel
安装编译工具,默认的依赖里没有编译工具
sudo yay -S base-devel
如果安装编译工具,会报类似下面的错误:
-
安装eviacam
yay -S eviacam
这里主要是用AUR的方式来顺便把依赖安装了,也可以手动安装依赖,然后Clone源码
这一步会报类似下面的错误:
-
根据错误提示修改源代码
-
引用的gtk3路径错误(此步骤请跳过,只是记录于此,因为按逻辑来说需要走这一步骤,这一步不行再走下一步)
vim ~/.cache/yay/eviacam/PKGBUILD
其他方式修改也可以,类似下图:
修改后使用makepkg编译
makepkg -si
结果是编译失败,需要修改CPP源代码,此方法不行
此处错误类似下图:
-
代码错误(**)NULL
根据报错提示将报错的代码修改为NULL
然后进入这个项目工程内部手动编译
./autogen.sh ./configure make make install
进行到make命令时此时会出现另一个代码错误,类似下图:
-
代码错误Case
编译错误提示重复的case语句,那就注释掉其中一个
不出意外,此时应该编译成功
但是启动时并没有加载出摄像头画面
此时使用命令行来启动软件
eviacamloader
此时控制台会出现类似下面的错误:
-
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文件夹下
现在将这个文件复制到这个三处地方
现是创建文件夹(第一个已有)
sudo mkdir -p /usr/share/opencv/haarcascades/ sudo mkdir -p /usr/share/OpenCV/haarcascades/
复制项目下的data里的haarcascade_frontalface_default.xml文件到这三个目录里
-
选择正确的摄像头
只有一个摄像头时不必考虑这个问题
-
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)