交叉编译opencv3.4初探(一)

环境:
PC系统: ubuntu16.04LTS
目标开发板:itop4412
交叉编译器:arm-none-linux-gnueabi-gcc(arm-2009q3)
step1: 准备opencv3.4源代码
step2: opencv3.4目录下创建子目录:build-arm
step3:修改opencv3.4根目录下的CMakeLists.txt文件
在开头加入:备注:此处已经提前交叉编译了zlib库

set(CMAKE_C_COMPILER "arm-none-linux-gnueabi-gcc")

set(CMAKE_C_COMPILER_AR "arm-none-linux-gnueabi-ar")

set(CMAKE_CXX_COMPILER "arm-none-linux-gnueabi-g++")

set(CMAKE_INSTALL_PREFIX "/usr/local/lib/arm/opencv-arm")

INCLUDE_DIRECTORIES(/usr/local/lib/arm/zlib/include)

LINK_DIRECTORIES(/usr/local/lib/arm/zlib/lib)

step4: 在build-arm目录下运行:cmake …
结果如下:
在这里插入图片描述
在这里插入图片描述
编译器和安装路径设置ok
step5: make
结果:
在这里插入图片描述
结果出错,原因不明,添加:SET(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -std=c++11 -pthread”),结果说

在这里插入图片描述
原因: itop4412提供的编译器是2009的(gcc4.4),不支持C++11,进而怀疑交叉编译器版本太低,经查询得知到了gcc4.7版才支持C++11。
解决办法: 自己联编交叉编译器,制作属于自己的新版交叉编译器以尝试解决opencv3.4编译问题,详见《交叉编译opencv3.4之创建交叉编译工具链(二)》,待续。。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章