树莓派3 B+编译OpenCV执行make -j4时遇未识别命令行选项错误
解决树莓派3B+编译OpenCV时
--param=ipcp-unit-growth=100000参数错误 问题原因
OpenCV的Carotene模块使用了旧版GCC的编译参数,而树莓派当前的GCC版本已将该参数重命名为--param=ipa-cp-unit-growth=,且之前的替换命令未覆盖所有生成的编译配置文件。
方案一:全局替换错误参数
- 先清理当前编译缓存:
make clean
- 遍历所有CMake生成的配置文件,批量替换参数(保留原数值100000,避免参数无效):
find . -type f \( -name "*.cmake" -o -name "Makefile" -o -name "CMakeCache.txt" \) -exec grep -l "--param=ipcp-unit-growth=100000" {} \; | xargs sed -i 's/--param=ipcp-unit-growth=100000/--param=ipa-cp-unit-growth=100000/g'
- 重新执行编译:
make -j4
方案二:禁用Carotene模块(更彻底)
如果不需要Carotene的硬件加速支持,可以在CMake配置阶段直接禁用该模块,从根源避免参数问题:
- 清理之前的编译目录(如果已经运行过cmake):
rm -rf build/*
- 重新执行cmake命令,添加
-DENABLE_CAROTENE=OFF参数(替换成你原有的cmake参数):
cmake -DENABLE_CAROTENE=OFF -D其他你需要的参数 ..
- 再执行编译:
make -j4
内容的提问来源于stack exchange,提问作者FWS
相关产品推荐
相关产品推荐

