Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 7 Next »

目次


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


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

$ cd iPRO_CAMERA_SDK_Vxxx
$ source setup_env.sh ipro-ambaCV2X

概要


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

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

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

  • ★あとで

C/C++モジュールをコンパイルする(OpenCV)


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

http://opencv.org/  

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

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

$ sudo apt-get install cmake

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

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

http://opencv.org/releases/

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

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

OpenCVのビルドのため、サンプルのMakefileとcmakeファイルをSDKに同梱しています。

ダウンロードしたソースコードを下記のフォルダにコピーしてください。

external/build/opencv/aarch64-linux-gnu

Makefileの設定

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

OPENCV_DIR = opencv-4.7.0

また、OpenCV モジュールのビルド オプションをカスタマイズします。

Makefile で「-D」を検索すると、オプションを確認できます。

本当に必要なオプションのみを有効にしてください。

不要なオプションが含まれると、OpenCV ライブラリのサイズが必要以上に大きくなり、アプリに搭載できなくなります。

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

ビルドを実行する

OpenCVをビルドします。

$ make
$ make install

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

アプリで使用する

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

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

ライブラリのコピー

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

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

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

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

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

Curl


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

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

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

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

curl - Download

下記にフォルダを作成し、ダウンロードしたソースコードをコピーした後、展開します。

SDK/external/build

$ 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なしの場合

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

OpenSSLありの場合

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

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

ビルドを実行する

curlをビルドします。

$ make

アプリで使用する

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

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

ライブラリのコピー

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

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

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

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

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

SQLite


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

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

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

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

https://www.sqlite.org/

https://www.sqlite.org/2022/sqlite-autoconf-3400000.tar.gz

下記にフォルダを作成し、ダウンロードしたソースコードをコピーした後、展開します。

SDK/external/build

$ 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]オプションは必ずつけてください。

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

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

ビルドを実行する

SQLiteをビルドします。

$ make

アプリで使用する

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

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

ライブラリのコピー

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

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

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

  • No labels