2008.03.30 (Sun)
zaurusでC/C++のコンパイル & Qtのコンパイル
Zaurus上でCをコンパイルするには、
・binutils_2.9.5.0.14-dev-1_arm.ipk
・gcc-cplus_2.95.1-dev-2_arm.ipk
・gcc_2.95.1-dev-1_arm.ipk
・glibc_2.2.2-dev-2_arm.ipk
・linux-headers_2.4.6-dev-2_arm.ipk
をインストールするだけでも十分だった。
C++は「-lstdc++」がない(?)みたいで、コンパイルできなかった。
さらに、これらにはQtのライブラリが入っていない。
そこで、Qtのライブラリも備えたコンパイラを入れる。
また、これには「make」も入っている。
Zaurus Onboard Development Toolsにある
・zgcc2Bin.cramfs
・zgcc2Inc.cramfs
をダウンロードし、ザウルス上でマウントする。
上の二つのファイルは /home/zaurus/Documents/zgcc_files というディレクトリを作成してに保存し、下のコマンドを実行する。
また、マウント先として、 /home/zaurus/.zgcc と /home/zaurus/.include というディレクトリを作成しておく。
まず、2つの .cramfs をマウントするため、次のコマンドを実行。
sudo mount -t cramfs /home/zaurus/Documents/zgcc_files/zgcc2Bin.cramfs /home/zaurus/.zgcc -o loop
sudo mount -t cramfs /home/zaurus/Documents/zgcc_files/zgcc2Inc.cramfs /home/zaurus/.include -o loop
そして次を実行
sudo ln -sf /home/zaurus/.zgcc/bin/libstdc++-3-libc6.1-2-2.10.0.so /home/QtPalmtop/lib/libstdc++-libc6.2-2.so.3
sudo ln -sf /lib/libc.so.6 /usr/lib/libc.so
sudo ln -sf /lib/libm.so.6 /usr/lib/libm.so
次に環境パスを設定
export GCC_EXEC_PREFIX=/home/zaurus/.zgcc/lib/gcc-lib/arm-linux/2.95.2/
export COMPILER_PATH=/home/zaurus/.zgcc/lib/gcc-lib/arm-linux/2.95.2/
export CPATH=/home/zaurus/.include/
export LIBRARY_PATH=/home/zaurus/.zgcc/lib/:/home/zaurus/.zgcc/lib/gcc-lib/arm-linux/2.95.2/:/lib/:/home/QtPalmtop/lib/
export CPLUS_INCLUDE_PATH=/home/zaurus/.include/g++-3/
export PATH=/home/zaurus/.zgcc/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/zaurus/.zgcc/lib
export TMAKEPATH=/home/zaurus/.zgcc/tmake/lib/sharp-onboard/
ここまでで、一応CやC++をコンパイルできるようになったはず。
コマンドは 「gcc」 と 「g++」 。
しかし、実行する Makefile に gcc でコンパイルするように書いてあっても、make すると
「cc : command not found」
と表示され、 gcc コマンドで make したいのに、cc でコンパイルしようとする。
そこで、シンボリックリンクを作成することで問題解決できた。
sudo ln -s /home/zaurus/.zgcc/bin/gcc /usr/bin/cc
アンマウントするには次を実行
sudo umount /home/zaurus/.zgcc
sudo umount /home/zaurus/.include
・binutils_2.9.5.0.14-dev-1_arm.ipk
・gcc-cplus_2.95.1-dev-2_arm.ipk
・gcc_2.95.1-dev-1_arm.ipk
・glibc_2.2.2-dev-2_arm.ipk
・linux-headers_2.4.6-dev-2_arm.ipk
をインストールするだけでも十分だった。
C++は「-lstdc++」がない(?)みたいで、コンパイルできなかった。
さらに、これらにはQtのライブラリが入っていない。
そこで、Qtのライブラリも備えたコンパイラを入れる。
また、これには「make」も入っている。
Zaurus Onboard Development Toolsにある
・zgcc2Bin.cramfs
・zgcc2Inc.cramfs
をダウンロードし、ザウルス上でマウントする。
上の二つのファイルは /home/zaurus/Documents/zgcc_files というディレクトリを作成してに保存し、下のコマンドを実行する。
また、マウント先として、 /home/zaurus/.zgcc と /home/zaurus/.include というディレクトリを作成しておく。
まず、2つの .cramfs をマウントするため、次のコマンドを実行。
sudo mount -t cramfs /home/zaurus/Documents/zgcc_files/zgcc2Bin.cramfs /home/zaurus/.zgcc -o loop
sudo mount -t cramfs /home/zaurus/Documents/zgcc_files/zgcc2Inc.cramfs /home/zaurus/.include -o loop
そして次を実行
sudo ln -sf /home/zaurus/.zgcc/bin/libstdc++-3-libc6.1-2-2.10.0.so /home/QtPalmtop/lib/libstdc++-libc6.2-2.so.3
sudo ln -sf /lib/libc.so.6 /usr/lib/libc.so
sudo ln -sf /lib/libm.so.6 /usr/lib/libm.so
次に環境パスを設定
export GCC_EXEC_PREFIX=/home/zaurus/.zgcc/lib/gcc-lib/arm-linux/2.95.2/
export COMPILER_PATH=/home/zaurus/.zgcc/lib/gcc-lib/arm-linux/2.95.2/
export CPATH=/home/zaurus/.include/
export LIBRARY_PATH=/home/zaurus/.zgcc/lib/:/home/zaurus/.zgcc/lib/gcc-lib/arm-linux/2.95.2/:/lib/:/home/QtPalmtop/lib/
export CPLUS_INCLUDE_PATH=/home/zaurus/.include/g++-3/
export PATH=/home/zaurus/.zgcc/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/zaurus/.zgcc/lib
export TMAKEPATH=/home/zaurus/.zgcc/tmake/lib/sharp-onboard/
ここまでで、一応CやC++をコンパイルできるようになったはず。
コマンドは 「gcc」 と 「g++」 。
しかし、実行する Makefile に gcc でコンパイルするように書いてあっても、make すると
「cc : command not found」
と表示され、 gcc コマンドで make したいのに、cc でコンパイルしようとする。
そこで、シンボリックリンクを作成することで問題解決できた。
sudo ln -s /home/zaurus/.zgcc/bin/gcc /usr/bin/cc
アンマウントするには次を実行
sudo umount /home/zaurus/.zgcc
sudo umount /home/zaurus/.include
この記事のトラックバックURL
この記事へのトラックバック
| BLOGTOP |



