目次

...

Table of Contents
minLevel1
maxLevel1

...

コンパイル環境を準備する(共通)★消していいと思う変わりに概要を記載Pythonマネして

...

コンパイル前に、SDKの環境設定を行ってください。

Code Block
$ cd iPRO_CAMERA_SDK_Vxxx
$ source setup_env.sh ipro-ambaCV2X

概要

...

C/C++版のAdamAppで外部ライブラリを使用する場合は、C/C++モジュールのコンパイルが必要です。

本チュートリアルでは、C/C++用外部ライブラリをビルドするための環境構築~モジュールのコンパイルまでの手順を解説します。

チュートリアルで使用する外部ライブラリ
  • ★あとで

  • ★あとで

OpenCV

...

OpenCVの詳細については公式サイトよりご確認ください。

http://opencv.org/  

コンパイル環境を準備する

OpenCVのビルドには「cmake」が必要ですので、インストールします。

Code Block
$ sudo apt-get install cmake

OpenCVのソースコードをダウンロードする

公式サイトからOpenCVのソースコードをダウンロードします。

http://opencv.org/releases/

このチュートリアルでは、例として4.7.0をインストールします。0を使用します。

ダウンロードするバージョンは、使用する機能に合わせて選択してください。

...

external/build/opencv/aarch64-linux-gnu

Makefileの設定

Makefileの2行目をダウンロードしたバージョンに合わせて編集します。

...

cmakeファイルは必要に応じて編集してください。

ビルドを実行する

OpenCVをビルドします。

Code Block
$ make
$ make install

ライブラリは「install」フォルダに作成されています。

アプリで使用する

ビルドしたライブラリやヘッダーファイルをアプリフォルダにコピーします。

このチュートリアルでは、サンプルアプリ「opencv_edge_detection_app」を例にします。

ライブラリのコピー

Code Block
$ cp -a install/lib/libopencv_world.so* ../../../../src/adamapp/opencv_edge_detection_app/external/lib/aarch64-linux-gnu
Note

共有フォルダなどを使用し、Windowsのエクスプローラーを使ってコピーすると、シンボリックリンクが正しくコピーされないことがありますので、Linux上でコピーしてください。

参考:https://dev-partner.i-pro.com/space/TPFAQ/582320143

ヘッダーファイルのコピー

Code Block
$ cp -r install/include/opencv4/opencv2 ../../../../src/adamapp/opencv_edge_detection_app/external/include

Curl

...

libcurlのソースコードをダウンロードする

公式サイトからlibcurlのソースコードをダウンロードします。

このチュートリアルでは、例として7.78.0をインストールします。0を使用します。

ダウンロードするバージョンは、使用する機能に合わせて選択してください。

...

Code Block
$ mkdir curl
$ cd curl
$ cp [任意のフォルダ]/curl-7.87.0.tar.gz ./
$ tar -zxvf curl-7.87.0.tar.gz
$ cd curl-7.87.0

Configureを実行する

[--host]オプションは必ずつけてください。

そのほかのオプションは使用する機能に合わせて選択してください。

OpenSSLなしの場合

Code Block
$ ./configure --host=aarch64-linux-gnu --without-ssl

OpenSSLありの場合

Code Block
$ ./configure --host=aarch64-linux-gnu --with-ssl=[OPENSSL_DIR]

[OPENSSL_DIR]は任意のディレクトリ

ビルドを実行する

curlをビルドします。

Code Block
$ make

アプリで使用する

ビルドしたライブラリやヘッダーファイルをアプリフォルダにコピーします。

このチュートリアルでは、サンプルアプリ「update_sample_app」を例にします。

ライブラリのコピー

Code Block
$ cp -a lib/.libs/libcurl.so* ../../../../src/adamapp/update_sample_app/external/lib/aarch64-linux-gnu
Note

共有フォルダなどを使用し、Windowsのエクスプローラーを使ってコピーすると、シンボリックリンクが正しくコピーされないことがありますので、Linux上でコピーしてください。

参考:https://dev-partner.i-pro.com/space/TPFAQ/582320143

ヘッダーファイルのコピー

Code Block
$ cp -r include/curl ../../../../src/adamapp/update_sample_app/external/include

SQLite

...

SQLiteのソースコードをダウンロードする

公式サイトからSQLiteのソースコードをダウンロードします。

このチュートリアルでは、例として3.40.0をインストールします。0を使用します。

ダウンロードするバージョンは、使用する機能に合わせて選択してください。

...

Code Block
$ mkdir sqlite
$ cd sqlite
$ cp [任意のフォルダ]/sqlite-autoconf-3400000.tar.gz ./
$ tar -zxvf sqlite-autoconf-3400000.tar.gz
$ cd sqlite-autoconf-3400000.tar.gz

Configureを実行する

[--host]オプションは必ずつけてください。

そのほかのオプションは使用する機能に合わせて選択してください。

Code Block
$ ./configure --host=aarch64-linux-gnu

ビルドを実行する

SQLiteをビルドします。

Code Block
$ make

アプリで使用する

ビルドしたライブラリやヘッダーファイルをアプリフォルダにコピーします。

このチュートリアルでは、サンプルアプリ「sqlite_app」を例にします。

ライブラリのコピー

Code Block
$ cp -a .libs/libsqlite3.* ../../../../src/adamapp/sqlite_app/external/lib/aarch64-linux-gnu

ヘッダーファイルのコピー

Code Block
$ cp sqlite3.h ../../../../src/adamapp/sqlite_app/external/include

...