日刊OpenLibSys
ビルド・ビルド・ビルド!!
こんにゃくブームもようやく一段落し、エンジン全開です!!
今日は、DLL とデバイスドライバの開発を行っています。とりあえず、NT4 でも動作することを確認し一安心。ソースコードもだいぶ整理したので、SysInfo よりはずっと読みやすくなったんじゃないかと思います。
問題は、98/Me 用の仮想デバイスドライバ・・・要ります?
要りますよねぇ~やっぱり。今作らないと永遠に作れませんもんねぇ~。
あっ、そうそう。
最初 NT4 で DLL がロードできず困っていたのですが、よくよく見るとインポートライブラリに msvcr80.dll が含まれているではありませんか!!おいおい、そんなのに依存した DLL いらねぇ~よ!!と思い試行錯誤したところ、必要なライブラリをスタティックリンクすることができました。ファイルサイズは 12KB から 60KB に増えましたが、msvcr80.dll をインストールしている人は少ないと思うのでまぁ良いでしょう。
気になる方法は、
プロジェクトのプロパティページ > 構成プロパティ > プロジェクトの規定値 > MFC の使用
を「標準 Windows ライブラリを使用する」から「スタティックライブラリで MFC を使用する」に切り換えていったんビルド。MFC を使っていないので、当然のように大量のエラーが発生するわけですが、「標準 Windows ライブラリを使用する」に戻してからビルドするとあら不思議、msvcr80.dll に依存しない大きな DLL が生成されるではありませんか!!
コンパイルオプション等ちゃんとチェックはしていませんが、こんな方法もあるよぉ~ということで関係各位??には有用かもしれない情報ということでメモっておきます。
↑適当なこと書いてました。
http://msdn2.microsoft.com/ja-jp/library/abx4dbyh(VS.80).aspx