記憶で書いてるし、WindowsでPerl使うの初めてなのでスマートな方法じゃないかもですけどメモっておきます。
- Cygwinをてきとうにインストール
- LibUsb-Win32 のFilter Driverをインストール
- CPANから、Ingy döt Net / Inline - search.cpan.org をインストール
- Device::USBを入れるのに必要なの
- vi /usr/bin/perlld
- ↓な感じに変更する。
$ diff -u /usr/bin/perlld{.orig,}
--- /usr/bin/perlld.orig 2008-03-06 18:33:09.458910000 +0900
+++ /usr/bin/perlld 2008-03-06 18:18:25.783013200 +0900
@@ -5,7 +5,7 @@
# these are pretty mandatory
my $CC = 'gcc';
-my $EXPORT_ALL = 1;
+my $EXPORT_ALL = 0;
# if some of extensions are undefined,
# no corresponding output will be done.
-
- これをやらないと、Device::USBのmake中に、「Cannot export \177libusb0_NULL_THUNK_DATA: symbol not found」と怒られて進めない。
- nm /usr/lib/libusb.aするとシンボルはあるみたいなんだけど。\177 = 0x7F = ^? = DELがとてもあやしい。
- で、やっと、Device::USBのインストール。
- ここまでお膳立てしてれば府ツーに入るはず。
USBデバイスにcontrol_msg送るだけの簡単なものですが、Linux+libusb+Device::USBで動いたスクリプトがそのまま、Windows XP SP2+libusb-win32+Device::USBで動きました。うひひ。