点击“蓝字”关注我们
Q: petalinux+XSDK 开发opencv应用时依赖库的设置问题
之前一直在做FPGA的逻辑开发,最近在zynqMP上做petalinux上的opencv应用的开发,在XSDK中开发opencv app的时候碰到了一个依赖库设置的问题。如下~
硬件环境:zcu104开发板
软件环境:petalinux 2020.1 + xilinx SDK 2019.1
操作步骤如下:
1. 在官方zcu104 BSP 2019.2的基础上,在petalinux-config -c rootfs中使能了Petalinux Package Groups ---> packagegroup-petalinux-opencv ---> packagegroup-petalinux-opencv 和 Petalinux Package Groups ---> packagegroup-petalinux-x11 ---> packagegroup-petalinux-x11,然后petalinux-build。
2. 参照UG1144,通过petalinux-build --sdk 和 petalinux-package --sysroot生成和部署了SDK,位于/images/linux/SDK下面
3. 在新开终端中通过xsdk命令启动了SDK,新建了一个Opencv Example Application工程。
4. 在例程中添加了一行测试代码 VideoCapture capture(0); 和对应头文件,结果就报错 Undefined reference to `cv::VideoCapture::VideoCapture(int)`,搜索后发现opencv的app工程还需要手动添加库。
5. 在Properties--->C/C++ Build--->Settings--->ARM v8 Linux g++ linker中的Library search path中添加了上述SDK中的两个路径
/home/hyy/prj/zcu104/peta-opencv/cvtest/images/linux/sdk/sysroots/aarch64-xilinx-linux/lib
/home/hyy/prj/zcu104/peta-opencv/cvtest/images/linux/sdk/sysroots/aarch64-xilinx-linux/usr/lib
同时在Libraries中添加了opencv_videoio和opencv_highgui两个库。此时设置如下图所示。
此时发现有如下报错,如下图所示。但是在上面添加的路径里都