Lhaplus x64 shell extension
- 2015-06-02 追記
- Lhaplus Version 1.70 以降のバージョンで公式に 64bit な Windows でのコンテキストメニュー表示がサポートされました。 非公式なこのシェル拡張をアンインストールし Lhaplus をアップデートすることをお勧めします。
最近、といっても数日前からboostを触り始めた。
主に、Let's boostを参考にしています。
まず、
bjam --toolset=msvc link=static,shared release debug stage
と入力してライブラリをビルド。
とここまで来て、letsboost::asioのサンプルを入力してコンパイルだーと「Visual Studio 2008 コマンド プロンプト」から
cl /EHsc asio_sample.cpp
と入力すると...
LINK : fatal error LNK1104: ファイル 'libboost_system-vc90-mt-s-1_39.lib' を開くことができません
_| ̄|○
ライブラリの設定を見直しやり直してもだめ...
ライブラリフォルダを見ると確かに無い...???
色々検索してみると今回のビルド方法の場合はどうもbjamのオプションがたりないようなので、
bjam --toolset=msvc runtime-link=static link=static release debug stage
と runtime-link=static を追加すると libboost_system-vc90-mt-s-1_39.lib が生成されリンクできた。(*1)
exeが出来た、さー実行...??あれ?
何も結果が出てこない...
コンパイルオプション変えてもだめ
でそういえばサンプルが入っていたなーと思い出し、boost\libs\asio\example\http\client の sync_client.cpp と async_client.cpp をコピーしビルド。
中身見ながら結構面倒なことやってるなーと思いつつ実行!
Exception: 指定されたクラスが見つかりません。
おや?
クラスってなんだーと思い最終的にIDEでステップ実行。
tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
の行で例外が発生しているみたい。
たどっていくとgetaddrinfo()から10109が返ってくる。10109ってなんだろーって検索すると WSATYPE_NOT_FOUND らしい。
検索で見つかったgetaddrinfoをみながら、うーん WSATYPE_NOT_FOUND かーと考えてみると、サービス名に"http"って指定していたなーと思い、"80"にして実行してみるとうまく動いた。
asio_sample.cpp の方も "http" から "80" に変えるとこちらも動いた...
で結局、getaddrinfo()に与える引数でなぜか自分の環境では、"http"がだめみたいってことだった。
なんか設定があるのだろうか???
でやっとスタートラインに立てたので今回は終了
*1 : IDEの場合のデフォルトは”マルチスレッド デバッグ DLL”で、libboost_system-vc90-mt-gd-1_39.libが必要とされるので、Let's boostの方法でOKです。
バージョン情報などを付けていないことに気づき ver.0.1.0.1 としてリリースしました。
名前も、“PuTTYdummy”から“PuTTY command line interface proxy for TeraTerm”に変えました。
実行ファイルの名前は変更していないので、PuTTYdummy.exeのままです。
UPXで圧縮もしたので実行ファイルのサイズも約半分に...APIだけでゴリゴリ書くともっと小さくなるはずなんだけどね...
ダウンロードは、ツールからどうぞ