交叉編譯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之創建交叉編譯工具鏈(二)》,待續。。。。。。

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