OpenCV在龍芯平台上的移植

2021-08-07 15:38:47 字數 1679 閱讀 3641

opencv 2.2.0的移植方法:

按照文章:「opencv在arm上的移植 - emouse - 」給出的步驟方法進行

修改的地方:

1、原指定交叉編譯器為arm的都改為mipsel,交叉編譯器的路徑也為redhat虛擬機器中的實際路徑/usr/local/mips-linux-gcc/gcc-3.4.6-2f;

2、在/opt/opencv/opencv-mips資料夾裡(這個資料夾裡存放的是用cmake-gui對opencv-2.2.0進行設定編譯之後產生的檔案),修改cmakecache.txt檔案第80行,將cmake_exe_linker_flags:string=' '改為:cmake_exe_linker_flags:string=-lrt (不是文章裡說的173行新增:-lpthread -lrt)。

3、設定完cmake-gui之後,用make命令編譯opencv-2.2.0的時候產生了:opencv-2.2.0/modules/ml/src/gbt.cpp中'expl'未定義的錯誤,將此檔案第14行和第16行注釋掉,就不再報錯了;

4、make install之後產生的檔案在/usr/local/mips-linux-gcc資料夾裡。

//5、將/usr/local/mips-linux-gcc資料夾裡的檔案轉移到/usr/local/opencv-mips-2.20中。

6、解除安裝時用終端進入到/opt/opencv/opencv-mips目錄裡,然後輸入:make install。

opencv 1.0.0的移植方法:

1、將原始碼opencv-1.0.0.tar-for-linux.gz放在虛擬機器/opt/opencv資料夾裡;

2、從終端中輸入tar zxvf opencv-1.0.0.tar-for-linux.gz解壓到本資料夾中,生成目錄opencv-1.0.0;

4、執行完configure之後入無錯誤則繼續在終端中輸入make,進行編譯;這時會有錯誤產生:impossible constraint in 'asm',開啟../opencv-1.0.0/otherlibs/highgui資料夾裡的makefile檔案,將155行:-i/usr/include用#注釋掉,將266行:/usr/include用#注釋掉;再次make,應該無錯誤產生;

5、make install之後生成的檔案放到了第3步指定的資料夾中,在虛擬機器中已經分別在這兩個資料夾中都生產了opencv-1.0.0編譯後的檔案;

7、找到opencv-1.0.0 sample資料夾裡的drawing.c檔案,將它拷貝到/software/facedetect資料夾裡,在這裡執行:mipsel-linux-g++ drawing.c -o drawing `pkg-config --cflags --libs opencv` ,會生成drawing可執行檔案;

8、在開發板/etc/profile檔案裡export ld_library_path=/lib:/usr/lib語句後面增加「:/lib/opencv」;

9、開發板的終端控制台通過nfs服務連線到虛擬機器,將虛擬機器/opt/opencv/opencv-mips/lib檔案更名為opencv,放到nfs共享資料夾裡,在開發板的終端控制台輸入命令cp -r opencv /lib,將opencv動態鏈結庫拷貝到開發板/lib/opencv資料夾裡;

10、在開發板中執行drawing,會提示不支援gtk,因為opencv在linux裡不支援gtk方法,需要修改drawing.c,讓其不使用gtk。

在ARM Linux平台上移植SQLite

在arm linux平台上移植sqlite 首先從http sqlite.org 的quick start文件中的測試程式為例對移植到arm linux上的sqlite3進行測試。該程式清單如下 include include static int callback void notused,int...

在Symbian OS平台上移植C語言工程的方法

symbian是應用於高階手機 智慧型手機 上的一種作業系統,諾基亞 索愛的高階手機便是基於symbian作業系統的,symbian os的優勢在於其高穩定性和節能性,並且有眾多主流手機產商的支援,現在是高階手機上的主流作業系統之一。在synbian os上的應用開發主要是以c 語言為主,但是也支援...

在x86 64平台上編譯龍芯平台go執行環境

系統 deepin v20 平台 x86 64 交叉編譯器 mips loongson gcc7.3 2019.06 29 linux gnu,即gcc 7.3.1。待後續更正 wget交叉編譯化境搭建見在x86 64平台上搭建龍芯mips64交叉編譯環境 安裝git sudo apt instal...