Howto

C++のコンパイルと実行

C++でプログラムを作成して、Armadilloで実行する方法です。

1. Hello プログラムの作成とコンパイル

簡単なC++のプログラムを作成して、コンパイルします。


// c++ sample program (hello.cpp)
#include 

using namespace std;
       
int main()
{
      cout << "Hello!" << endl;
      return 0;
}

[PC ~]$ arm-linux-g++ -o prog hello.cpp
[PC ~]$ ls prog
prog
[PC ~]$

2. ArmadilloにARM用ライブラリをコピー

C++で作成したプログラムを実行するために必要なライブラリを、Armadilloに転送します。ルートファイルシステムをCF上に作成している場合など、十分な空き容量があれば /lib の下に直接コピーすればよいです。
ここでは tmpfs をftp用のディレクトリにマウントして、そこにライブラリを置き、シンボリックリンクを /lib に作成する方法を記載します。

tmpfsをftp用ディレクトリにマウントします。


[armadillo ~]# mount -t tmpfs tmpfs /home/ftp/pub

開発用PCのARMクロス開発用のディレクトリにあるライブラリを、ftpでArmadilloに転送します。


[PC ~]$ cd /usr/arm-linux/lib
[PC /usr/arm-linux/lib]$ ftp [Armadillo-9のIPアドレス]
...
ftp> cd pub
ftp> put libstdc++.so.60.0.3
ftp> put libgcc_s.so.1
ftp> quit
[PC /usr/arm-linux/lib]$ 

Armadilloで /lib の下にシンボリックリンクを作成します。


[armadillo ~]# ln -s /home/ftp/pub/libstdc++.so.60.0.3 /lib/libstdc++.so.60
[armadillo ~]# ln -s /home/ftp/pub/libgcc_s.so.1 /lib

3. プログラムの実行

最初の手順で作成した実行ファイル prog をftpで転送して、Armadillo上で実行します。


[armadillo ~]# chmod 755 /home/ftp/pub/prog
[armadillo ~]# /home/ftp/pub/prog
Hello!
[armadillo ~]#