make例程sample_usb_cam_4k60出现问题

x3开发板

在apt更新过后

cd /app/multimedia_samples/sample_usb_cam_4k60/

尝试

make

出现报错信息

sunrise@ubuntu:/app/multimedia_samples/sample_usb_cam_4k60$ make
gcc -I/usr/include/jsoncpp -o sample_usb_cam  -lstdc++ /app/multimedia_samples/sample_usb_cam_4k60/src/camera/camera_base.o /app/multimedia_samples/sample_usb_cam_4k60/src/utils/yuv2yuv.o /app/multimedia_samples/sample_usb_cam_4k60/sample_usb_cam.obj /app/multimedia_samples/sample_usb_cam_4k60/src/camera/camera_imx415.obj /app/multimedia_samples/sample_usb_cam_4k60/src/utils/utils.obj /app/multimedia_samples/sample_usb_cam_4k60/src/vio/vio_sys.obj /app/multimedia_samples/sample_usb_cam_4k60/src/vio/vio_vin.obj /app/multimedia_samples/sample_usb_cam_4k60/src/vio/vio_cfg.obj /app/multimedia_samples/sample_usb_cam_4k60/src/vio/vio_vps.obj /app/multimedia_samples/sample_usb_cam_4k60/src/vio/vio_venc.obj /app/multimedia_samples/sample_usb_cam_4k60/src/vio/vio_video.obj -O3 -L/usr/lib -L/usr/usr/lib -L/usr/lib/hbmedia -L/usr/lib/hbbpu -L/usr/lib/modules -L/usr/lib/firmware -L/usr/lib/pkgconfig -L/usr/lib/sensorlib -L/usr/lib/udev -L/usr/lib/udev -L/usr/lib/aarch64-linux-gnu -L/app/multimedia_samples/sample_usb_cam_4k60/lib/jsoncpp/ -L /usr/lib/aarch64-linux-gnu/ -lcam -lvio -lhbmedia -lgdcbin -lisp -liar -lisp_algo -ltinyalsa -lmultimedia -lz -lavformat -lavcodec -lavutil -lswresample -ldl -lion -lalog -lturbojpeg -ldiag -lcjson -lhbmem -lrt -lstdc++ -lm -lpthread -lguvc -ljsoncpp -L/usr/lib/aarch64-linux-gnu -ljsoncpp
/usr/bin/ld: /app/multimedia_samples/sample_usb_cam_4k60/src/vio/vio_cfg.obj: in function `VioConfig::LoadConfig()':
vio_cfg.cpp:(.text+0x318): undefined reference to `Json::Value::operator bool() const'
collect2: error: ld returned 1 exit status
make: *** [Makefile:38: sample_usb_cam] Error 1

我已经尝试

sudo apt install libjsoncpp-dev

显示已经安装过了

我能在

/usr/include/jsoncpp 找到头文件

/usr/lib/aarch64-linux-gnu 找到 libjsoncpp.so libjsoncpp.a

请问我得怎么解决这个问题

修改一下src/vio/vio_cfg.cpp文件,修改内容如下所示:

成功了make了!-
不过有个小问题

make install 时提示 没有.so文件。-
后面我尝试去掉复制.so文件的操作,并执行run_usb_cam_imx415.sh发现缺少.so文件-

是今天7/26升级了系统吗? 考虑对摄像头库降级一下. apt install hobot-camera=2.0.0-20230530181103

我尝试了,找到了libimx415.so文件并将其复制到了sample_usb_cam_4k60的目录。编译成功!!!!

按照readme步骤,接上usb摄像头,到运行 sudo sh run_usb_cam_imx415.sh 这步却有报错。/(ㄒoㄒ)/~~

是权限问题嘛?还是?-
其中 /sys/bus/platform/drivers/ddr_monitor/axibus_ctrl/all 内容如下:-
axibus: 0x10100000:

isp_0_m2: vio1

ipu_0: vio1

/sys/bus/platform/drivers/ddr_monitor/write_qos_ctrl/all 内容如下:-
****************************************************

CPU port isn’t allowed to be configured in runtime.

You can run chmod +w as root for debugging purpose.

****************************************************

04032211:

P0_CPU: 1

P1_BIFDMA: 1

P2_CNN0: 2

P3_CNN1: 2

P4_VIO0: 3

P5_VPU: 0

P6_VIO1: 4

P7_PERI: 0

在 run_usb_cam_imx415.sh 中有如下操作,需要给.sh文件权限嘛:

echo 0x00100000 > /sys/bus/platform/drivers/ddr_monitor/axibus_ctrl/all-
echo 0x04032211 > /sys/bus/platform/drivers/ddr_monitor/read_qos_ctrl/all-
echo 0x04032211 > /sys/bus/platform/drivers/ddr_monitor/write_qos_ctrl/all-
devmem 0xa1000044 32 0x1010 //pll-
devmem 0xa1000144 32 0x11 //sif mclk-
devmem 0xa4000038 32 0x10100000 //axibus_ctrl-
devmem 0xA2D10000 32 0x04032211 //read_qos_ctrl-
devmem 0xA2D10004 32 0x04032211 //write_qos_ctrl

你好,需要module+官方载板 才可以实现,X3派不支持该操作

围观,问下,是指rdk x3不能跑sample_usb_cam_4k60这个示例吗,只能用X3 MD版才可以?这个限制是哪里啊