rvmの更新

rvm upgrade で本体の更新ができなくて面食らったので。 rvm get latest # (rvm本体の更新) rvm get head # (対応Rubyリスト等の更新) rvm reload # (更新を反映) ついでに、rvm upgrade の使い方は rvm upgrade ruby-1.9.2 ruby-head rvm upgrade jruby-1.6…

XCode 4.3 に上げたら brew install ができなくなった

brew install に失敗すると、親切にも過去ログへのリンクをリストアップしてくれるが、全く解決にならず途方にくれた。 Error: Failed executing: ./configure --disable-debug --disable-dependency-tracking --prefix=/usr/local/Cellar/libelf/0.8.13 (li…

JRuby で動くRTコンポーネントを作り直す

thegoodbadugly:1335170735:title は、Jython 版のRTCのソースをとにかく JRuby で動くようにしたものなので、Ruby らしいコードは書いていません。 Scala 版がいい感じに書けてちょっとくやしいので、書き直してみました。MyServiceConsumer.rb #!/usr/bin/…

Scala で動くRTコンポーネントを作る?

Jython, JRuby ときて、Scala でもRTコンポーネントを作ってみました。 実は Scala を扱うのは初めてで、なかなか勝手がつかめませんでした。以下のサンプルも動作はするのですが、ひとつだけクリアできなかった問題があります。 RtcDeleteFunc::deleteRtc …

JRubyで動くRTコンポーネントを作る

近いうちに、といいつつ5ヶ月も過ぎてしまいました。JRubyでのRTコンポーネントの書き方です。 今回はRTC Builder は使わずに、一から手でRTコンポーネントを書きます……といっても、基本的にはJythonと同じコードをJRubyで書くだけです。 準備 カレントディ…

コンシューマRTCの場合

コンシューマRTC の場合の設定・修正箇所もほぼ同じです。 RTC Builder MyServiceProvider 用のRTC.xmlをコピーして開き、 基本タブのモジュール名を MyServiceConsumer に、サービスポートタブの myservice0 インターフェースの方向を Required に変更しま…

[RTC][Jython]RTC Builder を使って Jython で動くRTコンポーネントを作る

OpenRTM-aist http://openrtm.org/openrtm/ja は、C++, Java, Python 版が用意されていますが、今回は Jython, すなわち JVMで動くPython の上で動作するRTコンポーネントを作成します。 (OpenRTM-aist をインストール済みで、RTC Builderを使って OpenRTM-…

Eclipse3.4 Ganymade で使用可能なソフトウェアに Subversive が見つからないときは

Eclipse に Subversive をインストールする場合、「Subversive SVN Integration for the Mylyn Project」と「Subversive SVN Connectors」が必要で、前者はソフトウェア更新からそのままインストール可能……のはずが出てこない。「サイトの追加」ボタンで、 h…

ConmanClient2 が重大なエラーで強制終了しちゃうときは

CEデバイス用のプログラムをVisual Studioから動かそうとしたときに、デバイス側で「アプリケーション ConmanClient2.exe は、重大なエラーが発生したため強制終了する必要があります。」というエラーダイアログがでることがある。 これを閉じると、今度はVS…

DirectShow の勉強をしよう

DirectShow 開発のイロハを解説したいいブログを教わりました。 imageryBlog http://www.firefly-vj.net/imagery/index.php?catid=8 http://www.firefly-vj.net/imagery/?itemid=183 http://www.firefly-vj.net/imagery/?itemid=186 この記事にしたがって、…

XP SP3 が起動せずに黒画面にカーソルしか出ないときは

トラブルは突然やってくる。昨日までなんの問題もなく動作していたPCが、朝電源を入れても起動しない。いつまで待っても真っ黒の画面に空しくカーソルが点滅するだけだ。これはマシントラブルだ! こんなこともあろうかと仕事場にはサブのPCを用意している。…

おまけ:DirectShow 年表

1996年 ActiveMovieとして生まれる。 1997年 DirectX に組み込まれ、DirectShow に改名。 2004年 DirectX Extraに移される。 2005年 Platform SDKに組み込まれる。 2007年 Platform SDK と .NET Framework SDK が Windows SDK に一本化されるというわけで、D…

Microsoft Windows SDK で DirectShow フィルタを開発するには

いきなりですが、Platform SDK は Windows SDK に移行しました。 SDK 付属の DirectShow サンプルは、VS2005 に対応してるし、別に DirectX SDK をインストールする必要もなくなったようです。(DirectX SDK をアンインストールして確かめたわけではないが)…

CAxWindow を使って Debug Assertion Failed が出たときは

CAxWindow を使ったプログラムを実行したら、いきなり Debug Assertion Failed が出た。 発生箇所は altcom.h の3898行で、メッセージは「!InlineIsEqualGUID(*m_plibid,GUID_NULL) && "Did you forget to pass the LIBID to CComModule::Init?"」……よくわか…

CEデバイスを起動するたびにメモリスライダーをいじるのが嫌になったときは

SetSystemMemoryDivision APIを呼べばいいと聞いて VB プログラム書いたのだけど、CE 6.0 ではこのAPIは obsolute なんだってさ。ネットで見つけたソースをぱっと実装すると、思わぬところでつまづく教訓。今回解決はないので代わりのAPI知ってる人がいたら…

Platform SDK の DirectShow サンプルをビルドするには

DirectShow はもともと DirectX の一部でしたが、その後分離され、Platform SDK の機能になりました。継子扱いってわけでもないでしょうが、Platform SDK にあるサンプルをそのまま nmake でビルドすると、ヘッダファイルが見つからないとエラーが出ます。 …

VC2008 で OpenGL のサンプルが実行できないときは

OpenGLバイナリを使っていてこんなエラーが出る場合、原因はそのバイナリがVC2005でコンパイルされていることにあるようだ。 Activation context generation failed for "glsample.exe". Dependent Assembly Microsoft.VC80.DebugCRT,processorArchitecture=…

CE用の ATL ウィザードでハマッたときは

ATL/WTL AppWizard for Windows CE を使ってコード生成すると、こういうエラーが出る。 1>c:\wtl80\include\atlapp.h(154) : error C2084: 関数 'HRESULT ATL::CComModule::RegisterClassObjects(DWORD,DWORD) throw()' は既に本体を持っています。 1> C:\Pr…

comdef.h の lstrlen が構文エラーになるときは(改)

コンパイラの出すエラーメッセージが、どこのどういう記述に起因し、どう修正すればいいのかを解読するのは、いつになっても難儀なものです。 1>C:\Program Files\Microsoft Visual Studio 8\VC\ce\include\comdef.h(240) : error C2589: '(' : スコープ解決…

ゾンビ対夕陽のプログラマ

Visual Studio 2005 + WTL 8.0 で、「WTL Mobile Appilication Wizard」プロジェクトの新規作成を、何度やっても「目的のファイルがゾンビ状態にあるため、そのデータにアクセスできません」という奇っ怪なダイアログが出る。 途方にくれたが、「ATL/WTL App…

WM6でRuby動かないことはないが

Target Earth というサイトに、ちょっと古いけれどRuby 1.8.6 のWinCE版が置いてありました。Console は設定ずみなのでインストールして動かしてみたのだけど、なぜか Ruby が終了すると標準出力がクリアされちゃってとても使いにくい。 起動するたびにかな…

画面に表示されてる画像をOpenCVに食わせようとしてハマった

まず、CBitmap インスタンスからビットマップデータを取り出す CBitmapT::GetBitmapBits が定義されてない。 Win32 APIだけど、CEでは使えないのだ。これはデータから直接抽出できる。CBitmap bmpImage に画像が入ってるとして、 DIBSECTION dibsection; ::G…

Windows Mobile エミュレータの挙動があやしいときは

WM6

OSの再起動をかけていないか、エミュレータのステートをセーブせずに終了してないか思い出そう。ライブラリのステップ実行できるようになったはずがいつのまにかダメになってて、さっき再起動した拍子にエミュレータを強制終了してたことに気がつくまでにち…

デバッグしたいコードにブレークポイントが設定できないときは

まずプロジェクトのプロパティで、構成プロパティ - リンカ - デバッグ の、「デバッグ情報の生成」がいいえになってないか確認しろ。ソリューション構成「Debug」でなんでデバッグ情報がいいえなのかさっぱりわからないけれど、とにかくそういうことがある…

やっとOpenCVが動いた……

やっとコンパイル通ったのにリンクすると 0x8007007e とかわけのわかんないエラーがでるのはWM6エミュレータに MSVCRT80.dll がないからだとか、cvLoadImage がちっともファイルを読まないのはワイド文字列のファイル名を受け付けないからだとか、cvSaveImag…

WTLとBoehm GCの組み合わせで……

gc_cleanup を継承したクラスの中で、 ::GetObjectType に失敗する。 デバッグモードだと、CPaintDC::SelectPen の内部で ::GetObjectType を呼び出すからアサーションにひっかかる。 リリースモードでも、明らかに SelectPen に失敗していて色がおかしくな…

WTL のサンプルを見てるのだが

主要なコードが全部 *.h に書いてあってトリハダが立った。ヘッダとソースの二重管理はおっくうだし、ヘマをした経験も山ほどある。 それはつまるところ40年前のコンピュータの上で、コンパイルを軽くするための仕様であって、今のPCならほとんど無意味なこ…

Boehm GC を Windows Mobile 6 用にコンパイル

C++ 用のガベージコレクタ Boehm GC を WM6 用にコンパイルします。 (WM6 エミュレータにコンソールをインストールする必要があります: 昨日の記事参照)(修正: CE_MAKEFILE で、gc.lib とヘッダファイルのインストール先、それにプロジェクトの追加のイン…

Windows Mobile 6 エミュレータでコンソールを使う

Visual Studio 2005 では、Windows Mobile 6 のエミュレータを使って開発できますが、コンソールがないため開発が不便です。以下の方法でWM6にコンソールを追加します。ホストとなる PC、エミュレータのウインドウ、エミュレートされているデバイスと、3つ…

ruby-opengl のコンパイル

MinGW に glut を組み込む gl・gluライブラリは、MinGW内にすでにlibopengl32.a, libglu32.a として含まれていますが、glut がありません。glut のソースは MinGW ではコンパイルできないので、バイナリアーカイブ glut-3.7.6-bin.tar.gz を入手します。 ヘ…