树莓派4 8GB编译Intel RealSense源码报错求助
解决树莓派4编译librealsense SDK的字符编码与编译警告问题
错误原因分析
从报错信息看,核心问题有两个:
- 源码中出现了无效的扩展字符(大概率是克隆或文件传输过程中出现编码损坏)
- 系统libusb头文件的零大小数组触发了
-Wpedantic编译警告,被编译器当作错误处理
解决步骤
1. 修复字符编码问题
先确认系统locale编码是否为UTF-8:
locale确保输出的
LC_ALL、LC_CTYPE等项为en_US.UTF-8或zh_CN.UTF-8,如果不是,通过以下命令设置:sudo raspi-config选择
Localisation Options->Locale,勾选对应的UTF-8编码并设为系统默认。重新克隆librealsense源码,避免编码损坏:
cd ~ rm -rf librealsense git clone https://github.com/IntelRealSense/librealsense.git --depth=1 cd librealsense
2. 禁用pedantic编译警告
编译时添加参数跳过pedantic警告,避免把警告转为错误:
mkdir build && cd build cmake .. -DCMAKE_CXX_FLAGS="-Wno-pedantic" -DBUILD_EXAMPLES=false -DBUILD_GRAPHICAL_EXAMPLES=false make -j4 sudo make install
(注:添加-DBUILD_EXAMPLES=false可加快编译速度,按需开启)
3. 验证udev规则(非当前错误直接原因,但可确保后续设备权限)
虽然当前错误与udev无关,但可重新配置规则避免后续设备权限问题:
sudo cp ../config/99-realsense-libusb.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules sudo udevadm trigger
内容的提问来源于stack exchange,提问作者yalt
相关产品推荐
相关产品推荐

