November 02, 2006Thinkpad Access Connectionsにやられる
[Computer]
Dual Coreの登場にあわせてノートパソコンを新装してから、かれこれ数ヶ月が経とうとしています。購入したのはCore Duoを搭載したThinkpad X60s(最新のX60sはCore 2 Duo搭載バージョンが最近でたみたいですね)なのですが、これには最近のノートパソコンの例に漏れず無線LANが内蔵されており、その設定を使う場所に応じて切り替えるためのLenovo謹製のツールAccess Connectionsというソフトウェアが導入されています。今回の記事はそのソフトのインストールにまつわる愚痴です。 このAccess Connectionsというソフトはパソコンを起動するだけで勝手に無線LANのアクセスポイント先やブラウザのプロキシ、通常使うプリンタ等を変更してくれるので便利に使っていたのですが、たまに切り替えがうまくいかないことがありました。特に固定IPとDHCPの切り替えがうまくいかず、手動で設定しなおすことが多かったです。 そういった不満があったのでソフトを最新のものにアップデートすればこの問題が解決されているのではないかと思い、これまたLenovo謹製のSystem Updateというアップデート用のツールを使って無線LANのドライバとAccess Connectionsを同時に更新して見ました。結果は… 無線LANがおかしくなりました。Access Connectionsを立ち上げるとAccess Connectionsから無線LANが認識されなくなり(Windowsからは認識されているので、Windowsの標準機能にある設定で変更すれば無線LANは使える)、さらには"Windows Wireless Connection Serviceが停止しています"という訳のわからないエラーが出たり固まったりします。 かれこれ格闘すること数時間。結論から言うと無線LANのドライバとAccess Connectionsを両方コントロールパネルの『プログラムの追加と削除』を使ってアンインストールし、無線LANドライバのインストール、再起動、Access Connecctionsのインストールを順に行うことによって回復しました。導入要因となったIPアドレスの切り替えはうまくいっているかはまだ検証中ですが、(ほぼ)自動インストールでインストールしたものがトラブルになるというのは非常に腹立たしいです。 November 05, 2006ASIMOとの遭遇
[Timely]
秋葉原で散策していたところ、生ASIMOに初めて会いました(某万博では多忙でそれどころではありませんでした)。『アキバロボット運動会2006』という企画だそうです。お客さん大入りでしたが、子供より夢中になるお父さんの図が至るところで見受けられておかしかったです(笑)。ちなみに僕がロボを作るとしたらタチコマ作りたいですね(日産に先を越されましたが…)。 November 11, 2006VC6 MFCをVC2005で
[Computer]
Visual Studio 6で作成したWindowsアプリケーション(MFC使用)をVisual Studio 2005 Express Editionでコンパイルできるように移植するという用件がやってきました。VC2005でVC6のプロジェクトを開くとある程度自動的にコンバートしてくれますが、いくつか修正する必要があったのでメモを残しておこうと思います。加えて、たまたまこの作業を行ったPCにVC6がインストールされていなかったのでVC6無しでWindowsアプリケーション(MFC)のコンパイル環境を構築してみました。 VC2005 Express Editionですが、以前の記事でも書いたとおり無償なので、機能制限がそれなりにあります。コマンドライン上で動く単純なCUIアプリケーションならば全く問題ないのですが、今回のようにWindowsのGUIアプリケーションとなると色々と技を駆使しないとコンパイルできませんでした。 まずはWindows Platform SDKの導入です。Platform SDKはWindowsアプリケーションを作成する際に必要となるヘッダやライブラリなどがある程度の範囲で無償公開されているものです。Windows Server 2003 R2 Platform SDKをインストールして、プロジェクトのインクルードパスに(Platform SDKのインストールディレクトリ)¥Include、¥Include\mfc、¥Include\atlを、ライブラリパスに¥Libを追加しておきます。Microsoftの解説ページが参考になると思います。 この状態でビルドを試みると、リンクの際にライブラリmfc42d.libがないと言われてしまいます。MFCにはバージョンがいくつかあり、これはVC6時代のMFCのようです。Google先生を検索したところ、Visual Studio 2005の有償版を持っている場合は新しいバージョンのMFCに切り替えてコンパイルできるようにする方法(『MFCアプリをVC6からVS2005へ移植時にリンクエラー』参考)があるようですが、今回は有償版VC2005もVC6もないのでネットからこれらのライブラリを探してきます。MFCがPlatform SDKに含まれているような雰囲気も漂っていますが、実はIA64用でx86用は含まれていません。Platform SDKのIA64用MFCにリンクをするとアーキテクチャが違うとリンカに叱られて先に進みませんでした。 しかしシンボルが解決できないとリンカに文句を言われます。CWnd::KillTimer(unsigned int)が見つからないそうです。これまたGoogle先生に聞いてみると、新しいMFCではKillTimerの引数がintからunsigned intに変更されたとのこと。CodeGuruに同じ現象が書いてありました。こうなるのはPlatform SDKの新しいMFC用のヘッダに古いMFCのライブラリを組み合わせているからです。 BOOL KillTimer(UINT_PTR nIDEvent);
を BOOL KillTimer(INT_PTR nIDEvent);
と書き換えればOKでした。他にも似たようなトラブルがあるかもしれませんが、ヘッダ書き換えで対応できると思います。 これでうまくいきました。本格的にWindowsアプリケーションを一から作ろうとするとGUIエディタなどが重要になると思うので有償版Visual Studioを購入したほうが良いと思いますが、移植程度でしたら今回のようにお金を掛けずにもできます。 November 13, 2006Eclipseのナビゲーターのフィルターパターン追加
[Computer]
仕事に遊びに大活躍の統合開発環境eclipseを愛用しています。もともとはJavaの開発ツールなのですが、自由にカスタマイズ可能なので、Java以外にもC++やRuby、ActionScript(Flash)、TeXなどを書くときに大活躍しています。 そのeclipseなのですが、基本のパースペクティブで表示されるナビゲーターというビューがあります。ただ単純にファイルをディレクトリ構造で表示しているペインなのですが、フィルターという機能があり、特定の種類のファイルのみを表示させるようにすることができるので、開発言語を問わず便利に使える機能です。 そんなのは嫌だ、自分でパターンを追加したいぞ、ということで調べてみました。得意のGoogle先生にお尋ねです。
以上の手順でうまくいきました。 November 19, 2006November 23, 2006『若者はなぜ3年で辞めるのか』を読んで
[Timely]
つい先日まで海外に出張していましたが、海外でぼーっとできる時間がそれなりあるだろうと思い(実際はあまり時間がありませんでした)、日本を経つ際に数冊和書を購入して出かけました。今回はそのうちの一冊『若者はなぜ3年で辞めるのか? 年功序列が奪う日本の未来』についての書評・感想を残しておこうと思います。 以下、長いので続きをどうぞ。 続きを読む "『若者はなぜ3年で辞めるのか』を読んで"November 29, 2006VHDLに思う最近FPGAの設計をしています。何を作ろうとしているのかというと、I2C接続が可能なタイマーカウンターアレーを作ろうとしています。なんでこんなものが必要になるかというと、ラジコン用の部品は、サーボをはじめとして加速度計、ジャイロなどパルス幅でコミュニケーションをとるものが目白押しで、マイコン内臓の機能では対応しきれなくなったという現状があります。なお、このような話は色々なところで議論されており、僕自身は元祖"俺サーボ"で有名な宮田さんの『FPGAによるPWM制御』を参考にしています。 以下、続きをどうぞ。 続きを読む "VHDLに思う" |
かれんだ~
スポンサード リンク
|