1つ:はじめに
このQRコード認識はzbar + opencvに基づいており、開発プラットフォームはubuntu18.04であり、ファイル実行プラットフォームはHisi3516です。
最終的にコンパイルされたファイルはARMアーキテクチャで実行されるため、関連するライブラリファイルと実行プログラムをクロスコンパイルする必要があります。
2:Hisi3516開発環境構築
tar -xzvf arm-himix100-linux.tgz
cd arm-himix100-linux
chmod +x ./arm-himix100-linux.install
./arm-himix100-linux.install
上記のコマンドを実行すると、次の環境変数が「/ etc / profile」ファイルに保存されていることがわかります。
export PATH="/opt/hisi-linux/x86-arm/arm-himix100-linux/bin:$PATH"
3:zbarクロスコンパイル
1. zbarソースコードを入手して解凍します
ファイル出力を保存するコンパイル済みファイルを作成します
2.構成
./configure --prefix=$PWD/../output --host=arm-himix100-linux --enable-shared=yes --disable-video --without-imagemagick --without-gtk --without-qt --without-python
3.コンパイル
make && make install
4.pkg-configを構成します
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/jun/tools/zbar/output/lib/pkgconfig
pkg-config --libs --cflags zbar
4:opencv関連のライブラリクロスコンパイル
Opencvのソースコードのコンパイルは一部のサードパーティライブラリに依存しているため、最初にこれらのサードパーティライブラリをコンパイルします。重要なポイント:これらのサードパーティライブラリのコンパイル済みファイルを1つのパスに入れて、後続のopencvコンパイルを容易にします。私の統一パスは次のとおりです。ホーム/ジュン/ hisifile
1、libz
CC=arm-himix100-linux-gcc AR=arm-himix100-linux-ar RANLIB=arm-himix100-linux-ranlib ./configure --prefix=/home/jun/hisifile --shared
make
make install
2、libjpeg
./configure --host=arm-himix100-linux --prefix=/home/jun/hisifile --enable-shared --enable-static
make
make install
3、libpng
libpngのコンパイルはzlibライブラリに依存します
./configure --prefix=/home/jun/hisifile LIBS=-L/home/jun/hisifile/lib CPPFLAGS=-I/home/jun/hisifile/include --host=arm-himix100-linux --enable-shared --enable-static
make
make install
4、yasm
CC=arm-himix100-linux-gcc ./configure --host=arm-himix100-linux --prefix=/home/jun/hisifile --enable-shared --disable-asm
make
make install
5、libx264
CC=arm-himix100-linux-gcc ./configure --host=arm-himix100-linux --prefix=/home/jun/hisifile --enable-shared --disable-asm
make
make install
6、libxvid
cd build/generic
./configure --host=arm-himix100-linux --prefix=/home/jun/hisifile --disable-assembly
make
make install
7、ffmpeg
./configure --prefix=/home/jun/hisifile --enable-shared --disable-static --enable-gpl --enable-cross-compile --arch=arm --disable-stripping --target-os=linux --enable-libx264 --enable-libxvid --cc=arm-himix100-linux-gcc --enable-swscale --extra-ldflags=-L/home/jun/hisifile/lib --extra-cflags=-I/home/jun/hisifile/include
make
make install
4:opencvクロスコンパイル
1. opencvソースコードライブラリを取得して解凍し、ビルド(構成の作成に使用)と出力(opencvによってコンパイルされたファイル)の2つのフォルダーを作成します。
2. bulidディレクトリに入り、「cmake-gui」を実行します
次の図に示すように、CMAKE_BUILD_TYPEを検索し、このキーの値をReleaseに変更し、CMAKE_INSTALL_PREFIXを検索して、このキーの値をソースディレクトリの下の出力フォルダーに変更します。
以下に示すように、必要なモジュールを確認します。静的ライブラリをコンパイルし、最後に[生成]をクリックしてMakefileを生成する必要があります。
3. cmakeを閉じて、opencvパスに戻ります
make
make install
4.pkg-configを構成します
vim /etc/ld.so.conf
将目录/home/jun/tools/opencv/opencv-3.2.0/output/lib添加到文件末尾
ldconfig -v
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/jun/tools/opencv/opencv-3.2.0/output/lib/pkgconfig
pkg-config --libs --cflags opencv