2017年08月 / 07月≪ 12345678910111213141516171819202122232425262728293031≫09月

--.--.-- (--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--:--  |  スポンサー広告  |  EDIT  |  Top↑

2008.07.17 (Thu)

Zaurus 上で Qtプログラミング 00

「Zaurus」と「プログラミング」、どっちのカテゴリにしようか迷うな。
まぁ今回はZaurusにしときます。


「Zaurus上でゲームを作るぞ~ p(・ω・´)」 なんていったものの、ネトゲばっかやっていて、最近は全くやってませんでした。
せっかく本まで買ったのに。

昨日~今日にかけて、一泊で静岡の方へ行ってきました。
つまり、その間はネトゲなんてもってのほか。
というわけで、Zaurus持って行ってQtの勉強をちょっとだけやりました。

で、どうやったかというと、本を読んでいたわけではない。
Qtを開発したTROLLTECK社がQtリファレンスを公開しているんだけど、それを翻訳しているものがこのページに掲載されている。
この翻訳はまだ途中ではあるが、わかりやすく翻訳されていて非常にいい。
で、この翻訳されたリファレンスをZaurus上に落としていたため、それを見てました。


このリファレンスには「チュートリアル」という項目があって、そこにはQtの簡単なソースが掲載されている。
それをコピペとかして動作確認をしつつ、プログラムを読んでいたわけなんだが、1~6までは正常にmakeできたものの、7や8番目の内容に関してはmakeするとエラーが生じる。
コンパイルして、オブジェクトファイルは正常に作成されるのだが、リンクして実行可能ファイルを作成する際にエラーが生じた。

エラーの内容は次のようなものである。(7番目の内容について)



lcdrange.o: In function `LCDRange::LCDRange(QWidget *, char const *)`:
lcdrange.o(.text+0x104): undefined reference to `LCDRange::QPaintDevice virtual table`
lcdrange.o(.text+0x108): undefined reference to `LCDRange virtual table`
collect2: ld returned 1 exit status
make: *** [a.out] Error 1




参考Webページ
C/C++の落し穴
nelnalog.note

上のWebページによると、どうやらクラスを仮想継承してリンクするところに問題があるらしい。
原因は 「宣言しているのに定義していないこと。」 だそうだ。
だが、「lcdrange.h」や「lcdrange.cpp」のどこにも「virtual」なんて記述はない。
どっかで勝手にvirtual扱いにされているのか?
まぁ、よくわからん。

試しに、VisualStudioでコンパイルしてみることにする。
と思ったけど、予定変更。
インストールし直してみる。




とかなんとかいろいろ奮闘していたけど、原因がわかったっぽい。
今インストールされているQtはQt4という最新のやつ。
しかし、参照していたマニュアルはQt2という、かなり古い形式だった。
そこに載っているソースは、もちろんQt2の形式で書いてあり、Qt4とは形式が結構変わっている。
そのため、エラーが生じたようだ。
つまり、バージョンの違うQtのプログラムをコンパイルしようとしていたわけだ。
なんで、以前買った本のプログラムをコンパイルしている。
今のところ、上手くいっているので問題なし。



ちなみに、文章に敬語とか入り乱れて統一性のない文章になってますが、それは仕様です。
メモ程度の気持ちで書いているので、細かいことは気にしないでくださいな。
別に、誰かに注意されたってわけじゃないけど、ふと気付いたんで書きました。


スポンサーサイト

テーマ : プログラミング ジャンル : コンピュータ

17:13  |  Zaurus  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2008.07.03 (Thu)

Zaurus のスクリーンショット機能

Zaurus に、スクリーンショット機能が内蔵されていたんですね。
マインスイーパー作ったら、どうやって画像とろうかな・・・、なんて考えてて。

   Fn + Shift + c

でスクリーンショットが撮れます。
撮った画像データは、SDカードのトップにある 「 Screen_Files 」 に保存されます。


テーマ : PDA ジャンル : コンピュータ

19:52  |  Zaurus  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2008.06.14 (Sat)

Zaurus に メガドライブ をインストール

Zaurus上でメガドライブをプレイできるようなエミュをインストールしてみた。

まず、Emulator for Zaurus SL-xxxを参考にした。

で、まず上記サイトから最新版のDGen1.23をダウンロードしてくる。
このソフトには、zlibとlibSDLが必要なので、

atty.skr.jp(libSDL)
A Way Out(zlib)

から

libsdl_1.2.5-slzaurus20050731_arm.ipk
zlib_1.2.3-1_arm.ipk

をダウンロードしてくる。
DGen、libsSDL、zlibの3つはipkgなので普通にインストール。


で、ターミナルを起動して実行。
実行には

$dgen ファイル名.bin

で実行できるはず。
しかし、 「libSDL-1.2.so.0が参照できない」 みたいなエラーが出てしまった。
なので、実行できない。

いろいろググっていて、SDL on Zaurus (SL-シリーズ)のページに置いてあるライブラリをインストールしたら起動できるようになった。

onscripter-lib_20070821_arm.ipk

というファイルをダウンロードしてきて、インストールすれば良し。


実行してみると画面が小さくて、なかなか見ずらい。
なので、拡大してゲームをするには

$ dgen -X [scale] -Y [scale] ロムファイル
$ dgen -S [scale] ロムファイル

のようにオプションを付ければよい。
たとえば、縦・横を2倍の大きさでプレイしたいなら、

$ dgen -X 2 -Y 2 ロムファイル

あるいは

$ dgen -S 2 ロムファイル

とコマンドを実行すれば良い。
ただ、SL-C1000では重くなって動きが悪くなった。
オーバークロックしても重い感じがした。
やっぱ、小さいままで我慢しなきゃいけないかも… orz


テーマ : モバイル ジャンル : コンピュータ

10:25  |  Zaurus  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2008.06.09 (Mon)

zaurusのSDの調子が悪い

なんか、SDカードがReadOnlyになってて、ファイル削除とかコピーとかいろいろできない。
今度何とかしたいと思う。
原因は、ファイルがいかれてるような?
参考サイト

テーマ : 雑記 ジャンル : ブログ

04:28  |  Zaurus  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

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



テーマ : PDA ジャンル : コンピュータ

01:30  |  Zaurus  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2008.03.29 (Sat)

ザウルスのキー配置変更

Zaurus SL-C1000 の初期キー配置では、「,」と「/」は同じボタンに割り当てられており、「,」がメインで、「/」はShiftを押しながら入力しないといけない。
ディレクトリの移動など、「/」の方が使用頻度が高いので、「,」と「/」を逆にし、「/」を使いしやすくする。

/home/QtPalmtop/etc/keycode.tbl

に、キー配置のファイルがあり、このファイルをいじればキー配置を変えられる。
ただし、制限があるためroot権限での編集が必要。
ファイル中に次の記述があるはず。

0x03f Key_Comma 0x2c 0x2f 0x7b 0xffff 0x01

これを次のように変更。

0x03f Key_Comma 0x2f 0x2c 0x7b 0xffff 0x01

これで、変更できたはず。


ファイル先頭に説明があるが、左の3番目から順に、
普通入力ときのユニコード
Shiftを押しながら入力したときのユニコード
Ctrlを押しながら入力したときのユニコード
Fnを押しながら入力したときのユニコード
となっている。
19:46  |  Zaurus  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2008.03.29 (Sat)

ipkgメモ

落としてきたipkgファイルだが、何のファイルだったかすぐ忘れるので、メモっておく。

/* 2008-03-28 */

FreeNote_SH-1.0_arm.ipk // フリー描画ソフト
aBookReader_0.9.1_arm.ipk // 本閲覧ソフト
batteryplus_1.1.6_arm.ipk // バッテリーソフト
binutils_2.9.5.0.14-dev-1_arm.ipk // gccに必要
bvdd_0.4.0-1_arm.ipk // mplayerの動作に必要
cloverpaint_1.05_arm.ipk //高機能お絵かきソフト
emacs21-bin_21.2.1-20021126b_arm.ipk // emacs
emacs21-leim1_21.2.1-20021126_arm.ipk // emacs
emacs21-leim2_21.2.1-20021126_arm.ipk // emacs
emacs21-lisp1_21.2.1-20021126_arm.ipk // emacs
emacs21-lisp2_21.2.1-20021126_arm.ipk // emacs
emacs21-lisp3_21.2.1-20021126_arm.ipk // emacs
fd_2.09d-1_arm.ipk //FDというファイラ
gcc-cplus_2.95.1-dev-2_arm.ipk //C++のコンパイルに必要(?)
gcc_2.95.1-dev-1_arm.ipk //gcc
glibc_2.2.2-dev-2_arm.ipk //gccのライブラリ
gnugo_2.6_arm.ipk //CUIの囲碁ソフト
gzip_1.3.5-1_arm.ipk //gzipコマンド
jikes_1.1.6-2_arm.ipk // javaソースのコンパイル
jnethackqt_3.4.3-4_arm.ipk // ローグ風のゲーム
justreader-plus_1.6f-8_arm.ipk //辞書ソフトに必要
kakasi_2.3.4-2_arm.ipk //辞書ソフトに必要
keyhelper_1.2.2-1_arm.ipk // キーヘルパー
libfloat_1.0_arm.ipk // javaの実行環境に必要
libgc6_6.1alpha5-gcc3-k1_arm.ipk // w3mに必要
libncurses5_5.2.20020112a-7_arm.ipk //zshに必要
libopie1_1.0.3_arm.ipk //
libsdl_1.2.5-slzaurus20050731_arm.ipk //ゲームのエミュレータに必要そうなカンジ
linux-headers_2.4.6-dev-2_arm.ipk // gccに必要(?)
make_3.77-dev-1_arm.ipk // makeが使えるようになる(?)
mplayer-bvdd-iwmmxt_1.1.5-1_arm.ipk //mplayerという動画閲覧ソフト
nkf_2.0.7-1_arm.ipk //nkfコマンド
openssl_0.9.8d-1_arm.ipk // w3mに必要
opera-chartable_7.25-2_arm.ipk //ブラウザソフトopera
opera7-jpn-helper_0.0.2a_qshdlg.ipk //ブラウザソフトopera
opera_7.25-lite-2_arm.ipk //ブラウザソフトopera
opie-kpacman_0.3.1_arm.ipk // パックマンのゲーム
personal-profile-for-zaurus_arm.ipk //java実行環境に用いる
qpe-embeddedkonsole-ja_1.6.0-jinput3_arm.ipk //ターミナルソフト(日本語入力可能)
qshdlg_0.6.2-1_arm.ipk //GUI作成ツール(?)
rqr_0.2.7_arm.ipk //QRコード生成ソフト
ruby-qte_0.5.2_arm.ipk //下のファイルに必要なruby関連ファイル
ruby_1.8.0-1_arm.ipk //rubyを使えるようにする
snes9x_SDL-1_arm.ipk //スーファミ(Snes9X)のエミュレータ
sokoban_1.3.1-sl700-2_arm.ipk //倉庫番のゲーム
sudo_1.6.7p5-1_arm.ipk //sudoコマンド
unzip_5.24_arm.ipk //unzipコマンド
w3m_0.3-1_arm.ipk // w3m
w3m_0.4-m17n-k4_arm.ipk // w3m
wlan-prism3_1.0.0_arm.ipk //無線LANカードのドライバ
zaurus-sd-driver-update-cxxxx_1.0+tetsu_arm.ipk //SDカード2GBに対応させるipk
zaurus_jikes.tar.gz //javaのコンパイラ
zgcc_2.95.1_arm.ipk // zgcc(これだけでは不足)
zip_2.31-2_arm.ipk // zipコマンド
zlookip_0.06-1_arm.ipk // ipアドレス調べるソフト
zplayer_0.1.1_arm.ipk //zPlayer
zsh_3.0.8-6_arm.ipk //zシェル
zten_1.6.2_arm.ipk  //辞書ソフト

テーマ : PDA ジャンル : コンピュータ

00:19  |  Zaurus  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2008.03.27 (Thu)

pdaXii13 を Zaurus SL-C1000 にインストール

最初はpdaXromをインストールする予定だったんだけど、友人にpdaXiiを薦められたので、こっちをインストールしてみる。



参照Webページ
pdaXii13 for Zaurus SL-C1000 (akita)
my Zaurus SL-C3000 and SL-C3100
きたへいの悠々自適




・上記のサイトから3つのファイルをダウンロードしてきて、FATフォーマットしたSDカードに移す。
・一度Zaurusのバッテリーパックとアダプタを抜いて、しばらく待つ。
・バッテリーパックとアダプタを装着し、OKボタンを押しながら電源を入れる。
・メニューが表示されるはずなので、4番目の「アップデート」を選択し、「SDカード」を選択
・pdaXii13 Installer のメニューが表示されるはずなので、3番目の「Install new ROM」を選択。
数分すれば、インストールが終わる。
「UserPartition」をフォーマットするか聞かれるので、とりあえず「Yes」にしてみた。
その後、再びInstallerのメニューが表示された。
pdaXrom 1.1.0 beta2に挑戦!(纏め#1)が参考になる。

その後、リセットをして再起動。
しばらくすると、Window Managerを次の中から選択させられる。
  ・OpenBox
  ・IceWm
  ・Quit
とりあえず、OpenBoxを選択してみた。
一応、起動はできた。
再起動すると、またWindow Managerを選ぶことができる。

ネットワークの設定とかはまた今度。



とか思ってたけど、結局元に戻しましたw


テーマ : PDA ジャンル : コンピュータ

18:53  |  Zaurus  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2008.03.27 (Thu)

Zaurus SL-C1000 の NANDバックアップ

最近、Zaurus用にキーボード買ってみて、PdaXromでも入れてみようかと思ったんだが、一応バックアップはとっておこうと思って。
で、バックアップは以前やったことあったんだが、正直忘れてしまったので再びやってみる。
今度はここにメモっておくことにする。



0.SDカードの用意
FAT形式でフォーマットをしたSDカードを用意する。
容量は137MB以上であればよい。
ただし、ZaurusSL-C1000では2GB以上のSDカードは認識できない。
そのため、今回は512MBのSDカードを用いる。
メーカーはハギワラシスコムだ。


1.フォーマット
「ハッキングLINUXザウルス」という本にシステムのバックアップ方法が載っている。
今回はその記事を読みながらバックアップを行うのだが、この本では、バックアップを行う前にフォーマットを行っている。
このフォーマットとは、PIMデータや自分で作ったファイルを消すという作業らしい。
バックアップを取るだけだから、フォーマットの必要性は感じられない。
なので、フォーマットは省いて、いきなりNANDバックアップを行う。

で、フォーマットしないでNANDバックアップしたデータをリストアしようとしたら、できませんでした。
昔のバックアップデータではちゃんとリストアできたので、フォーマットが原因だと思います。
やっぱり、ちゃんとフォーマットをやった方がいいっぽいです。




2.NANDバックアップ
Zaurusには、NANDバックアップという機能が付いている。
これを用いてシステムをバックアップする。
NANDバックアップはサービスメニューから行う。
サービスメニューは、以下の手順で起動できる。

  (1). 電源を切り、バッテリとアダプタを本体から外す
  (2). 先ほど用意したSDカードを差し込む
  (3). 「D」と「M」のキーを押しながら、ACアダプタを装着し、画面が出たらキーを離す

上の3つの手順を行うことで、サービスメニューが起動されたはず。
サービスメニューはすべて英語表記になっている

 (1). 「Page UP」をタップするか、右を押して3ページ目に移動する
 (2). 「2.BACKUP RESTORE MENU」という項目があるので、そこで「OK」ボタンを押す
 (3). 「2.NAND Flash Back Up」という項目で「OK」ボタンを押す
 (4). 確認画面が表示されたはずなので、「OK」または「Enter」を押す

これで、NANDバックアップが開始される。

ちなみに、(3)の画面には、「6.NAND Flash Restore」という項目も選択できるようになっているはずだ。
これは、バックアップしたデータをザウルス本体に戻すときに選択する。

バックアップには、20分程度かかるらしい。
「Backup......OK」と表示されたら終了だ。
終了したら、「Cancel」を2回押してサービスメニューに戻り、バッテリーパックの脇にあるリセットボタンを押して、終了。
そうしたら、バッテリパックを装着し、普通に起動。
私の場合、バックアップしたデータはパソコンに退避させておいた。




テーマ : PDA ジャンル : コンピュータ

18:06  |  Zaurus  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2008.03.11 (Tue)

Vista では Zaurus 使えない!

Zaurus は、Vistaに対応してないみたいですね。
ていうか、インストールとかUSB接続とかしたけど動かなかった。
これでZaurusいじる機会もさらに減るというわけか。
まぁ、最近はそんないじる気なかったからいいけどね。

テーマ : 雑記 ジャンル : ブログ

17:27  |  Zaurus  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
 | BLOGTOP |  NEXT

 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。