Windowsの(Cygwinの)PerlでDevice::USBをインストールしたときのメモ
記憶で書いてるし、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で動きました。うひひ。