タグ「c言語」が付けられているエントリー

Google Developer Day 2010 DevQuiz

| Google Developer Day 2010 DevQuiz

今年の夏の自由研究を何やるか決められないまま,既に夏休みなんですが,どうしましょう?と思っていたところ,タイミング良くGoogle Developer Day 2010 DevQuizが始まったので,参加中です.脳味噌コネコネにはちょうど良いです.昨晩から参加して,今のところ,こんな感じです.

gdd2010devquiz01.jpg

とりま,共通問題はサクッとやって,HTML5間違い探しもサクッと終わらせました.認証屋としてOAuthができないなんてのは問題外(というかそういうデモを作ってるくらいだし)なので,サクッとPHPで挑戦して,ムリってなりましたw.Pecl::OAuthはダメだ.realm指定できないw.仕方ないから,PerlのOAuth::Lite::Consumerを使いました.パッケージのスペルを間違えてて,小一時間悩んだのは良い思い出.

んで.Top Favoritesは一切何も関与していないことが判明したので,Super HackersかNext Generationに応募するしかないので,とりま,Super Hackersに挑戦中です.Shiritoriはレベル2までは適当にブルートフォース的なやり方で解けました.レベル3は単語数が増えるので,プログラムを作って挑みました.実装はC言語で.なんとなくPerlの方が簡単に作れた気がする・・・.久しぶりの再帰関数にちょっと四苦八苦しながら,見事に撃退しました.ちなみに,相手の手のことを考えていなくて,解答が合わなくてパニクったのは良い思い出.

残るはPAC-MANとエッセイです.エッセイはまぁいいとして,PAC-MANをどうするかなぁ・・・.これは結構マジで作らないとダメだよなぁ・・・.そもそもパックマンは苦手だから,戦略アルゴリズムを立てられないorz.

というわけで,PAC-MANは置いておいて,解けそうなGoogle Maps APIをやろうかなと思っている.中身的にはMaps APIを叩いて最短経路問題を解けばいいので,高々10点らしいので,マップを作ってダイクストラ法の総当たりでフィニッシュです.でも,手元にダイクストラのプログラムがないので,自宅に戻ってから.

まとめ:
なかなか楽しいです!全く解法が解らないでもなく,めちゃめちゃ簡単でもない.挑戦しがいのある問題って素敵.ところで,GDD2010の開催日が9月28日で,大腸内視鏡検査とバッティングしそうなんだよね・・・.無駄に終わるかもしれんorz.

ずっと前から書こう書こうと思っていたものをヴァァァーーーーに任せて書こうと思う.「お金が無くてオフィスが買えない!」という人や「金を払うのがばからしいから不正コピーでチーッス」っていうバカのための,ソフトウェアは全部無料でありながらも,まともに研究や勉強ができる環境を準備するお話です.不正イクナイ!

前提:とりあえずパソコンはある(XP時代のもので十分です)

さて,早速ですが,無料のOSから手に入れてみたいと思います.MicrosoftのWindowsはパソコンを買うとついてきますが,基本的に有料です.パソコン代にOS代が含まれているんですよ!Macのことはよく知りませんが,間違いなく有料だと思います.というわけで,それ以外の選択肢となると,思いつくのがLinuxです.というわけで,オレご贔屓のUbuntuを使いたいと思います.また,今回は調子をぶっこいて最新版すぎるDaily BuildなLiveCDを使いたいと思います.i386かamd64のどちらか適切なisoファイルをダウンロードしてください.わからなければ,i386を選んでください.なお,isoのダウンロードは後述のUNebootinでも可能ですが,速度が出にくいので,先にダウンロードしておく方法をオススメしました.どちらでも結構です.

さて,ダウンロードができたらインストールの準備を始めます.isoイメージなので,CDに焼いてしまえば良いと思いますが,最近の流行はUSBメモリブートです.ということで,UNetbootinというツールを利用します.1GB以上あるUSBメモリをPCに差し込んで,ソフトを起動します.なお,ここでisoイメージをダウンロードして自動でゴー!ってしたい方は1番上のDisribuionからUbuntuを選んでDaily_Liveを選びましょう.

100420_ubuntu01.jpg

こんな感じで,さっきダウンロードしたisoファイルを指定して,USBメモリが指定されていることを確認して,okを押します.あとはメッセージに従ってください.なお,USBメモリの中身は消えちゃいますので,その辺だけは注意してください.完成したら,USBメモリからブートさせてください.Ubuntuが起動するはずです.

なお,これ以降の説明は実機ではなくVMware上で行っていますが,基本的に同じですので,気にしないでください.仮想環境を作りたかったんだよー.だからついでに書いているんだよー.ちなみに,VMwareにインストールしたら,簡易インストールがなんたらですごく簡単にインストールできた旨をお知らせしておきます.いや,普通にやっても簡単だけどさ.

100420_ubuntu02.jpg

さて,それはさておき,作成したUSBからブートしたUbuntuはこのような感じだと思います.

100420_ubuntu03.jpg

このまま利用しても良いのですが,常用するのでハードディスクにインストールします!赤枠で括ったアイコンをクリックしてインストールします.手順は割愛しますが,ガイド通りに進めば良いと思います.インストールが終わったらUSBメモリを抜いて,再起動させます.もう終わりに近いです(ぇ.

100420_ubuntu04.jpg

インストール完了後にはもちろんアップデートです!と行きたいところですが,daily buildを使っているので,何もありませんでした.これはこれでつまらない・・・.さて,それでは利用環境を準備していきましょう.

なにはなくともインターネット!とにかくブラウジング!
クラウド時代においてインターネットは重要です.デフォでFirefoxが入っていますので,これを使っても良いと思います.でも,今日はGoogle chromeを入れてみたいと思います!chromeをダウンロードするためだけに,Firefoxを使いましょう(ひどい・・・)!それっぽいのをポチポチ押していって,最後は自動実行に任せてえいや!です(伝わってるかなぁ・・・).パッケージインストーラが起動すると思うので,そのままインストールをポチッとな!

100420_ubuntu05.jpg

こんな感じでパネルに追加すると便利です.これでokです.サクサクです.楽ちんです.

いやいや!オレyoutubeとかニコニコとかみたいねん!
パッケージマネージャを利用して「ubuntu-restricted-extras」をインストールだ!「依存により要求された変更を追加しますか?」と聞かれるので,迷わずにマークを選択でFA.最後に適用ボタンを押しておk.

100420_ubuntu06.jpg

簡単ねっ!

論文読みたいな!PDF!PDF!
Adobe Readerを入れるでもいいんですが,入れなくても普通に開けちゃいます.この辺がWindowsと違うところです.良い感じ♪Adobe Readerを入れる場合はこの辺からインストール

Microsoft Officeが使いたい!
Microsoftのオフィスはないけど,類似品のOpenOffice.orgはあるんです.

100420_ubuntu09.jpg

↑これがワードのかわりのWriterさん.

100420_ubuntu08.jpg

↑エクセルのかわりのCalcさん.

100420_ubuntu07.jpg

↑パワーポイントのかわりのImpressさん.

ちなみに,Googleドキュメントを使うという手もあると思います.悪くないですよ?OOoもGoogleドキュメントも,すごいんだぜ?保存する時にPDFで保存できるんだぜ.優しいね.優しさがにじみ出てるね.

C言語でプログラミングの勉強をしたい!
すればいいじゃん(え.標準でインストールされているはずです.安全のために,パッケージマネージャからbuild-essenialを入れておきましょう.あとは普通にプログラムを書いて,コンパイルして,実行です.コンパイルなどの手順は以下の通り.

$ vim foo.c
$ gcc foo.c
$ ./a.out

簡単だねっ!え?VisualStudioみたいな統合環境が良いだって??そしたら,パッケージマネージャでgeanyってのを入れると良いと思うよ!

100421_ubuntu01.jpg

まぁ,eclipseを入れても良いとは思いますが,依存パッケージが多いので,インストールに時間がかかりますよ?仰々しいプログラムを書くなら,eclipseもよろしいかと.インストールは同じくパッケージマネージャからeclipseを.日本語化とかC言語用の環境準備とか面倒くさいですよ?英語の勉強を兼ねて,英語のままで使うってのも良いかもしれません.

さてそろそろ論文書くか
TeXの出番ですね?わかります.でも,今日は疲れたよ.また今度にしよう!そうしよう!

参考:
軽量アプリを厳選し、Ubuntu 10.04 β2を入れた4GBのUSBメモリでブートした古いノートPCで仕事してみた | Viva! Ubuntu!!
Ubuntuで C言語を使おう | 不定期ソフトウェア開発

調べたけど分からない.決定的なものが見当たらない.MSXMLを使うのが簡単そう.だけど,自宅では環境が足りない模様.明日,開発環境でテストしてみるコード.ちなみに,「実証コードには手間を掛けない」が持論なので,簡単にXMLをパースしちゃう言語をご紹介.「これはひどい」で有名なPHPで.

<?php
$string = <<<XML
<a>
<b>
<c>text</c>
<c>stuff</c>
</b>
<d>
<c>code</c>
</d>
</a>
XML;

$xml = new SimpleXMLElement($string);

/* <a><b><c> を探します */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
echo '/a/b/c: ',$node,"\n";
}

/* 相対パスでも動作します... */
$result = $xml->xpath('b/c');

while(list( , $node) = each($result)) {
echo 'b/c: ',$node,"\n";
}
?>

PHP: SimpleXMLElement::xpath - Manual

実行結果は以下の通り.

/a/b/c: text
/a/b/c: stuff
b/c: text
b/c: stuff

PHP: SimpleXMLElement::xpath - Manual

xpathもできて,かんたーん.

諸事情で,QRコードを複数認識したい衝動に駆られた.で.libdecoreqrってのが便利らしいので,試してみた.現時点までで分かったこと.

  • OpenCVが予想以上に便利だった
  • libdecodeqrで複数QRコードを認識させるには,外側からのアプローチじゃダメそうなので,中身を弄らないとダメそうなことは理解した
  • QRコードの方がイメージしやすいと思ったんだけど,
  • あきらめてARToolKitで複数マーカ認識にした方が良いだろうか
  • 実はARToolKitはあまり得意じゃないです><;
  • ニコニコ技術部のソースファイル(もしくは考え方)がみたい・・・
  • 具体的にはQRコード上のミク

おなかすいた.

理系トップクラスの大学院生でこの体たらくとは.CS系の学生には常識中の常識だと思うが,浮動小数点は信用ならないから,正確な演算結果が欲しいなら固定小数点でやる.以下,実証コードをC言語で.コンパイラはBCC32 5.5.1です.

#include <stdio.h>
union test {
double a;
int b[2];
} test;
void main() {
union test a;

a.a = 0.1;
printf("%lf=%x %x\n", a.a, a.b[1], a.b[0]);

a.a = 1.0;
a.a -= 0.9;
printf("%lf=%x %x\n", a.a, a.b[1], a.b[0]);

a.a = 0.09;
a.a += 0.01;
printf("%lf=%x %x\n", a.a, a.b[1], a.b[0]);
}

実行結果はこんな感じ.

C:\Temp>test
0.100000=3fb99999 9999999a
0.100000=3fb99999 99999998
0.100000=3fb99999 99999999

JK.0.1っていう数字を正確に表現できる君は,コンピュータよりも圧倒的に優れているよ.間違いなく.

関連:
Windows の更新の電卓のアクセサリ
グーグルの電卓機能が計算ミス:ニュース - CNET Japan

せっかくだからまとめ.こっちの環境は,Windows XP Pro SP3にVisual Studio 2008 Proです.

ARToolKit on Visual Studio 2008
なんというか,工学ナビ様の通りにやればいいと思うよ.このガイド通りで,トラブルフリーです.最高♪

PTAM on Visual Studio 2008 w/ Web-Camera
こっちはちょっと手こずる.手こずるっていっても,時間がかかるっていうだけで,以下の手順に従えば,できます.今回は現時点での最新ソース(v1.0-r111, Mon, 11 May 2009 16:38:02 +0100)を利用しています.基本的なガイドは以下の通り.

マーカレスAR(PTAM)のソースコードを動かしてみた(WindowsXP VisualC++) | happymeme

今回は最新ソースのREADME.txtに従って,TooN,libcvd,gvars3をCVSからとってくる.ガイド通りだと,build\vc2005となっているが,最新ソースのREADME.txtで示されているリビジョンをダウンロードすると,build\vc2008がありますので,それを使います・・・と見せかけて,slnが変になってるのか,読み込めないので,結局build\vc2005を使うのでした.どんまい!てか,gvars3だけ上手くコンパイルできない.config.hがない件については,config.h.inをリネームします.もう1つのエラーは,以下の通り.

以前のバージョンのソースを参考に、次の行を、

template static T& get(const std::string& name, const T& default_val=DefaultValue::val(), int flags=0);

次のように書き換える。

template static T& get(const std::string& name, const T& default_val=T(), int flags=0);

とりあえず、良しとする。

自己満足なBLOG

えーと.上手くいきません.上手くいかないので,gvars3.hの261行目を以下のように書き換える.

template<class T> static T& get(const std::string& name,
const T& default_val=T(), int flags=0);

実際には改行しないで下さい.準備が整ったら,PTAMをWebカメラで使えるようにいじります.もちろん,工学ナビ様の思し召しのままに.手順としては簡単に述べると以下の通り.VideoSource.hとVideoSource_Win32_EWCLIB.ccをPTAMのルートに.PTAM\Build\Win32にあるVideoSource_Win32_CMU1394.cc以外の3ファイルをPTAM直下にコピー.CameraCalibrator.vcorojの208行目とPTAM.vcprojの368行目を以下の通り書き換える.

書き換え前:RelativePath=".\VideoSource_Win32_CMU1394.cc"
書き換え後:RelativePath=".\VideoSource_Win32_EWCLIB.cc"

後は神に祈るのみ.あ.dxtrans.hの件を忘れていた.

そうですね。
ここにjiapeiさんが書かれている方法を元に編集したら若干警告はあるもののビルドできました。
SampleGrabber も使えました。
私の環境における編集内容は下記です。
//#include "dxtrans.h" ・・・ 495行目
IDxtCompositor //: public IDXEffect ・・・ 979行目
IDxtAlphaSetter //: public IDXEffect  ・・・1484行目
IDxtJpeg //: public IDXEffect ・・・1725行目
IDxtKey //: public IDXEffect ・・・2400行目

オラ検: DirectShowと戦うスレ Part 2 (990) via DirectX SDK November 2007にdxtrans.hが入っていない件について - DenpaFreak

これでコンパイルはできたが,Webカメラがないので,続きは月曜日以降に・・・.

関連:
SourceForge.net: ARToolKit
Parallel Tracking and Mapping for Small AR Workspaces (PTAM)
工学ナビの中の人の研究と周辺 ゼロからはじめるARToolKit on VisualC++ 2008 Express Edition
マーカレスAR(PTAM)のソースコードを動かしてみた(WindowsXP VisualC++) | happymeme
自己満足なBLOG
工学ナビ - BACKYARD
DirectX SDK November 2007にdxtrans.hが入っていない件について - DenpaFreak
オラ検: DirectShowと戦うスレ Part 2 (990)
?マーカーレスAR技術「PTAM」をDVカメラで動作させてみる - program - 釣堀.net
PTAMをがんばってみる - 4403 is written

Linuxでやれば簡単なのに!(挨拶)

Visual Studio 2008でGMPを使う方法を書いておく.備忘録.環境はWindows XP Pro SP3に,Visual Studio 2008 Proです.基本方針はこれを参考にしてます.手順内に出てくるリンク切れの参考サイトはこっち

  1. なにはなくとも,GMP本体をダウンロードする.2009年4月28日時点では4.3.0が最新のようだが,ビルドに必要なファイルが4.2.4を前提にしているらしいので,4.2.4をダウンロード(直リン注意!)する.なお,4.3.0に4.2.4用のビルドファイルを適用してみたが,ダメだった.どこをどう直せばいいのか,皆目見当もつかないくらいにエラーが出たので,今後の課題に.
  2. ダウンロードしたgmp-4.2.4.tar.gzを展開する.ここでは,c:\gmpとする.
  3. このサイトで提供しているgmp-4.2.4.vc9.zipをダウンロードして,解凍する.解凍したファイルをc:\gmpに上書きする.
  4. C:\gmp\build.vc9\yasm.rulesをC:\Program Files\Microsoft Visual Studio 9\VC\VCProjectDefaultsにコピーする.
  5. YASMから,適切なバイナリ(例えば,yasm-0.8.0-win32.exe)をダウンロードし,yasm.exeにリネームして,C:\Program Files\Microsoft Visual Studio 9\VC\binにコピーする.
  6. C:\gmp\build.vc9\gmp.slnを開くと,エラーが4回くらい出るので,無視します.これは,異なるプラットフォームだからだそうですが,Core2でコンパイルしたいなぁ・・・.何故かエラーになる.どうやるんだろう?OSが64ビットじゃないから?
  7. gen-bases, gen-fac_ui, gen-fib, gen-psqrの4つをビルドしまくる.
  8. dll_gmp_p4とlib_gmp_p4をビルドる.
  9. lib_gmpxxをビルドる.
  10. c:\gmp\build.vc9\dll\Win32\(Debug|Release)\にdllファイルが,c:\gmp\build.vc9\lib\Win32\(Debug|Release)\にlibファイルができます.
  11. c:\gmpにあるヘッダファイルをC:\Program Files\Microsoft Visual Studio 9\VC\includeに,ビルドされたlibファイルをC:\Program Files\Microsoft Visual Studio 9\VC\libにコピー.

これでok.続いて,GMPを用いたコードをテストします.以下のコードをコンパイルすることを考えましょう.

#include<iostream>
#include<gmpxx.h>
using namespace std;

mpz_class factorial(int val){
    mpz_class result = 1;
    for(int i=1; i<=val; i++) result *= i;
    return result;
}

int main(void){
    mpz_class result = factorial(300);
    cout << result.get_str() << endl;
    return 0;
}

Windows 環境下での GMP の利用法

結果は,こんな感じ.

090428_gmp01.png

あーさむ.ただし,何故かコンパイル時にエラーが出ることがある.その場合は,静的リンクを設定してみて下さい.

関連:
Windows 環境下での GMP の利用法
A Native GMP Port Using Microsoft Visual Studio

1年総決算エントリを書き始める時期になりました.今年はいろんな言語を扱いました.

  • C
  • Java
  • JavaScript
  • LaTeX
  • NQC
  • Perl
  • PHP
  • Prolog
  • XHTML + CSS

この中で苦もなく書けるのは,やはりC言語.難しいことをしなければ,リファレンスを読まなくても書けます(ぇ,それ普通?).入門してすぐに挫折したのは,Objective-C.オブジェクト指向が苦手なオレとしては,ありゃダメだ.今年はVBを書かなかったけど,年明けになると書かざるを得ない状況になるのかなぁ・・・.予め想定で書いておけばいいのかな?実家にはVB環境がないな(ぁ.

それから,(X)HTMLやらCSSやらは,相変わらずvalidな記述を心がけてます.W3Cの甘さに喜び,Another HTML-Lintの厳しさに半ベソです.マイブームはXHTML 1.0 Strictです.「まだ1.1じゃないのか」というツッコミは躱します.そうこうしている間に,XHTML 2.0やらHTML 5.0が出てくるでしょう(いつの話だ).

それから忘れてはならない言語は英語と日本語.相変わらず英語のスキルは向上していない.言ってることはだいたい理解できるのだが,喋ろうと思っても言葉が出てこないのはどうにかならないのだろうか.シナプスが一方通行になっているのだろうか?なお,日本語のスキルは社会人仕様になっているはずなので,少しは向上していると信じたい.

初音ミクが歩いているらしいので,羨ましく思います.というか,こういうネタこそナイトセッション向けですよね.というわけで,来年に向けて準備してみる.いや,直近では研究室説明会か?コンパイルガイドは以下のページを参考にしまくり.

マーカレスAR(PTAM)のソースコードを動かしてみた(WindowsXP VisualC++) | happymeme

コンパイル環境はWindowsXP Pro SP3にVisual Studio 2005 Proです.DirectX SDKは・・・なんだかMicrosoft SDKs v6.1って書いてあります.よくわからない.

以下,躓いた点.

CVSが繋がらない
お約束です.cvsもsvnも繋がらないとは!過剰なFWですねっ!CiNiiも繋がらないし,不便だわん!仕方がないので,sshで外部サーバに接続してゲットしてきました.なんだかなぁ・・・.

dxtrans.hがない
お約束っぽいです.

どうも怪しいと思ってたんだ。DirectX SDK November 2007にはdxtrans.hが入っていません。

ので、qedit.hをインクルードしているファイルをデバッグ(コンパイル)するとエラーが出ます。

DirectX SDK November 2007にdxtrans.hが入っていない件について - DenpaFreak

対策通りに修正します.バージョンが違うので修正箇所も違うようです.オレの環境ではそれぞれ,498,837,1151,1345,1735行目でした.トラブったら情報はどんどん公開しよう!

IEEE1394カメラからWebカメラへの変更
工学ナビの中の人のソースを利用.

3. PTAMにもともと同梱されている VideoSource_Win32_CMU1394.cc の代わりに
   このフォルダに同梱されている VideoSource_Win32_EWCLIB.cc を使う.

同梱のreadme.txtより

さらっと書かれていて,見事にわからなかった.その後のリビルドでエラーをみて理解した.CMU1394の変更はCameraCalibrator.vcprojの208行目を書き換えることで解決.

関連:
Parallel Tracking and Mapping for Small AR Workspaces
YouTube - Parallel Tracking and Mapping for Small AR Worspaces - extra
『攻殻機動隊』『電脳メガネ』どころではない拡張現実感技術の現在 | 王様の箱庭
Cagylogic: PTAM

ハッキリ言って,Touchlib公式の説明は分からない.CMUPlatformSDKDirectX SDKも説明が一切無い.DirectX SDKはJPEG2000関連でインストールしておいたし,PlatformSDKは経験上気が付いたから良いものの,CMUはビルド時のエラーで環境変数がないというところから,逆引きして判明したくらい.どこにも書いていない!分かるわけがない!

というわけで,四苦八苦して動かせたのは,同じトラブルにはまった人が,ブログ上で情報を公開してくれていたから.ブログはこういうためにあるんだと思う.思ったこと,やったことを思いつくままに書いておけばいいんだと思う.必要なものは必要とされるし,不要なら淘汰される.適当に書いておいても,グーグル先生が適当に整理してくれる.それがウェブを媒介とした新しい情報配信と共有だ.単純なプッシュしかできない旧来のメディアには出来ない芸当であろう.以下,手順を転載.本当にありがとう.

Miscallenous Libraries
OpenCV (download OpenCV_1.0.exe)
DSVideoLib (download dsvideolib-0.0.8c)
VideoWrapper (download VideoWrapper_0_1_1.zip)
GLUT (download glut-3.7.6-bin.zip)
OSCpack (download oscpack_1_0_2.zip)
CMU 1394 Digital Camera Driver (download 1394camera644.exe)
Windows Server 2003 R2 SDK (aka Platform SDK) Web Install, Full download or ISO
DirectX SDK (download August 2007)

Setting environment variables:
Depending on your setup you might need to change a few directory location values.

  1. Press the right mouse button on “My Computer” and choose: Properties > Advanced > Environmental Variables
  2. To add an entry, click “new” at the System Variables.
  3. Add the OpenCV root directory:
    name: “OPENCV_HOME”
    value: “C:\Program Files\OpenCV”
  4. Add the DSVideoLib:
    name: “DSVL_HOME”
    value: “C:\_libraries\dsvl-0.0.8c”
  5. Add the VideoWrapper
    name: “VIDEOWRAPPER_HOME”
    value: “C:\_libraries\VideoWrapper_0_1_1″
  6. Add the OSCpack
    name: “OSCPACK_HOME”
    value: “C:\_libraries\oscpack_1_0_2\oscpack”
  7. Add the CMU driver location
    name: “CMU_PATH”
    value: “C:\Program Files\CMU\1394Camera”

Visual studio settings:
We are almost done with setting up the enviroment, there are just a few steps left before we can compile Touchlib.

  1. Open up “solution.sln” in the “C:\multitouch\touchlib\build\VC8″ directory.
  2. Choose Tools > Options
  3. On the left choose Project and Solutions > VC++ Directories
  4. On the right change “Show directories for:” to “Include files”
  5. Add the directory “C:\_libraries\glut-3.7.6-bin”
  6. Add the directory “C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include”
  7. Add the directory “C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Samples\Multimedia\DirectShow\BaseClasses”
  8. Add the directory “C:\Program Files\Microsoft DirectX SDK (August 2007)\Include”
  9. Change “Show directories for:” to “Library files”
  10. Add the directory “C:\_libraries\glut-3.7.6-bin”
  11. Add the directory “C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib”
  12. Add the directory “C:\Program Files\Microsoft DirectX SDK (August 2007)\Lib\x86″
  13. Click OK
  14. In the menu choose Build > Build Touchlib
  15. When it has compiled Touchlib, Build > Build solution
  16. The End

Touchlib compiling instructions | Multigesture.net

本当に,トラブルはみんなで共有するべき.

単なる愚痴.朝から午後の早い時間まで,ずーっとVisual Studio 2005 Proと睨めっこしてた.今日,オレを苦しめたのはARToolKitTouchlib

ARToolKitは2年前にVC6で動かしているから,事もなく行くと思ったら,いかないでやがんの.OpenVRML関係が上手くビルドできない.メチャメチャ苦労した挙句に,結局諦めて,デモソフトのメタセコイヤのやつを動かそうと思ったら,こっちもビルドが通らない.おかしいなぁ・・・.これは普通にできたはずなんだが・・・.VC6とVS2005でこんなにも違うとはorz.一応,目標のところまでは動かせて,「これじゃダメだ」ってことが確認できたのでok.

続いて,Touchlibのビルドを行うも,こっちは散々な出来.サッパリダメだ.結局,何一つビルドできなかった.2時間も投資したのに><.デモソフトは動かせたが,キャリブレーションの仕方が分からない.何かの手順を間違えているんだと思うが,如何せんドキュメントが少なくて,何をどうして良いのやら・・・.smokeくらいはキャリブレーションなしの勘で動いて欲しい・・・.精度なんて求めないのに.それっぽく動いてくれるだけで良いのに・・・.

よくわからんのだが,どっちもVS2003.NETなら上手く動くらしい.でも,今更2003は入れたくないので,入れるならVC6だろう.VC6マンセー!ちなみに,VS2008はまだ使ったことがない.MSDN AAに無いんだけど・・・.要求すると出てくるのかな?

結論:
Macを買って,Objective-Cを使えばいいんだと思う.マジで.

Kakku Tipsのメモメモへコメント的なエントリーポスト.

#include <stdio.h>
#include <stdlib.h>
void main(void){
    printf("\a");
    system("cls");
}

enjoy!

関連:
エスケープシーケンス一覧
BohYoh.com【C言語講座】標準ライブラリ関数 system
Windowsコマンド集:(cls)

プロフィール

e-m@il @ddress