ここでは、VC++ Express 2008でライブラリファイル(*.lib)をDLLから作成する方法を見てみようと思います!


やっとインストールしたVC++大活躍です。(^^)


【ライブラリファイル作成方法】

①どこか適当な場所にフォルダを作ります。単純な場所がいいです。

 c:\vc2008def

 とでもしましょうか。


②dumpbin.exeとlib.exe、link.exe、mspdb80.dllのファイルを探して、①のフォルダにコピーします。

 たいていの場合、最初の3つは 「C:\Program Files\Microsoft Visual Studio 9.0\VC\bin」

 最後の1つは、「C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE」 にあります。


③プロンプトを立ち上げて、①のディレクトリに移動して、以下のコマンドを打ちます。

 dll名のところは対象のDLL名を入れてください。

  dumpbin /exports dll名.dll > dll名.txt


④defファイルを作成します。

 ③で作成したファイルを開いて、以下の形式にします。


EXPORTS
  func1
  func2

   :


 方法は③のファイルを秀丸などで開き、Altを押しながらカーソルで矩形選択してコピー。

 他のファイルにペーストします。あとは全体を選択してTabを押せは、左のインデントができるはずです。

 あとは、先頭の行に「EXPORTS」を記述して「dll名.def」で保存してください。


  図1.Altを押しながら矩形選択
copy


  図2.defファイルの例
paste




⑤④で作成したdefファイルをもとに、libファイルを作成します。

 lib /DEF:dll名.def /MACHINE:X86 /out:dll名.lib



以上です!


どうですか?

うまくいきましたか?



参考:

・VC++でのコンパイルについて
・C++ でPostgresと接続するには?
・Dev-C++やwxDev-C++でWindowsのDLLを使用するには?