2012/06/16

libusbx

私は、USB機器を操作したいとき、PCだとlibusbを使っている。
libusb-1.0だ。
これで作っておくと、WindowsでもLinuxでもOS Xでも動くという、便利な代物だ。
(もちろん、それぞれの環境にインストールなんかはいるけど)

 

久々にパソr・・・USB機器を操作しようと実行したら、なんだかよくわからない実行時warningが出てきた。
うーん、同じソースで動いていたのに・・・。

よくわからないときは、とりあえず最新バージョンにしてやってみよう、とネットを見ると、libusbxなるプロジェクトができていることを知った。
「今後のWindows版はlibusbxでやる」みたいなことが書いてあったが、libusbxもマルチプラットフォームのようなので、心配はいらんようだ。

 

ライブラリが変わると、実装を変更したりするのがめんどうなのだが、libusb-1.0からlibusbxに変更するのは、includeパスくらいだけだった。
私はcygwin環境を使っているのだが、こんな置き方をした。

  • /usr/local/binにdllをコピー
  • /usr/local/libに.aとdll.aをコピー
  • /usr/local/includeにlibusbx-1.0/libusb-1.0.hをコピー
  • .bashrcに「LIBRARY_PATH=/usr/local/lib」を追加

最後のは、LD_LIBRARY_PATHに/usr/local/libがあったけどlibusb-1.0のリンクが通らないので、やってみたらなった。
cygwinはLD_LIBRARY_PATHじゃなくてLIBRARY_PATHだとか、なんだとかかんだとかいろいろ出てきたけど、動けばよかろうなのだ。

置き換えたら、warningは出なくなった。
あまり納得はいってないが、動けばよかろうなのだ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。