|
昨日のカウンタ: 今日のカウンタ: |
手元に Linux Zaurus 以外に Linux 環境がないので、Linux の次に実績のある cygwin で開発環境を作ろうかと ひだかさんとこの「QtopiaSDK on Cygwin」 を参考に環境を作ってみました。結論を言えば「作ってみました」というより「このページに書いてある通りにすれば問題なし」というところで、実際に clock は cygwin の上でも SL-C700 の上でも動きました。(と、ここまでは昨日の話)
これは嬉しい、わーい、とばかりに他のものもコンパイルを試みるも cygwin 版の make が通ってくれずに恥ずかしながら数時間悩んでおりました。実機向けのは make も通るんですけど。
このまま実機向けのものだけコンパイルできれば最低限の作業はできるかな、とか一瞬思ったのですが、それではやっぱり流石にデバッグに苦労するでしょうから、落ち着いてエラーメッセージを読んでみたり。まぁ、取り敢えず簡単そうな showimg ぐらいで。
んー、コンストラクタの引数で文句を言ってるようでして、showimg.h での定義が showimg.cpp での定義に合ってないという類のエラーみたいなんで適当に二文字削ってみたらコンパイルが通りました。
恥ずかしながらこれを解決するだけで多分1時間以上費やしてしまっているのですが、これを通じて分かった事が一つ。「私は C++ をまるで理解していません(泣)」 というかコンストラクタの書式さえ未だに理解していません。(;_;) ここまで深刻だとは自覚していなかったので、ここは一冊ぐらい C++ の本を読んだ方が良さそうです。
ちなみに showimg を cygwin 上で動かしてみたら、既にいくつかファイルが見えてます。 Windows の「My Document」を cygwin の ~/Document へとシンボリックリンクを張っておいたせいでしょう。クリックしてみたら教育上よろしくない画像が表示されてびっくりしました。そんなものの存在、忘れてました。というか、このパソコンを仕事でも使うのはやっぱり止しておくべきのような・・・
● これって gcc のバージョンとかオプションの問題なんでしょうか?
なんのことだっけなーとずっと思ってたのですが、コンストラクタの.hと.cppの両方にデフォルト引数指定( = 0 とか)がついている話でしょうか?
gcc2.95だと確かにコンパイルが通ってしまうのですが、この記述はC++の文法的に間違っていて、gcc3.2では正しくエラーになります。
なので、qtopia-1.5.0/qt-embedded-2.3.3 あたりのソースの間違いということになるはずです。
落書きソフトだそうですが、以下のURLみると実はザウは筆圧とれるみたいです。
http://digit.que.ne.jp/visit/index.cgi?Linux%a5%b6%a5%a6%a5%eb%a5%b9%b3%ab%c8%af%a5%e1%a5%e2%2f%a5%c7%a5%d0%a5%a4%a5%b9
>>SL-C700:
>> typedef struct {
>> short pressure; // 押下時、筆圧>>取得モード時(Pressure=1)は筆圧、無視(Pressure=0)時は 1.
>> short x;
>> short y;
>> short millisecs; // ポーリング時>>刻 (10ms 単位)
>> } TS_EVENT;
>ひだかさん
ああっ、その通りです。はっきり書かなかったばかりに悩ませてしまって申し訳ありませんでした。これですっきりしました。
これからちょうど新幹線に乗るのでオライリーの「C++ プログラミング入門」買ってみました。もちろん2〜3時間で読める内容ではありませんが。(^^;)
>yoshiさん
なんと!! それはすばらしいです。泣けます。
これでモチベーションとしてばっちりですよ。感度がどれくらいかわかりませんが、楽しみが増えました。
何だ、 SL-C7{5,6}0 買わなくても SL-C700 だけでまだまだ楽しめそうですね。(笑)