目次
...
Table of Contents | ||||
---|---|---|---|---|
|
...
コンパイル環境を準備する(共通)★消していいと思う変わりに概要を記載Pythonマネして
...
コンパイル前に、SDKの環境設定を行ってください。
Code Block |
---|
$ cd iPRO_CAMERA_SDK_Vxxx $ source setup_env.sh ipro-ambaCV2X |
概要
...
C/C++版のAdamAppで外部ライブラリを使用する場合は、C/C++モジュールのコンパイルが必要です。
本チュートリアルでは、C/C++用外部ライブラリをビルドするための環境構築~モジュールのコンパイルまでの手順を解説します。
チュートリアルで使用する外部ライブラリ
★あとで
★あとで
OpenCV
...
OpenCVの詳細については公式サイトよりご確認ください。
コンパイル環境を準備する
OpenCVのビルドには「cmake」が必要ですので、インストールします。
Code Block |
---|
$ sudo apt-get install cmake |
OpenCVのソースコードをダウンロードする
公式サイトからOpenCVのソースコードをダウンロードします。
このチュートリアルでは、例として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上でコピーしてください。 |
ヘッダーファイルのコピー
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上でコピーしてください。 |
ヘッダーファイルのコピー
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 |
...