DLL から LIB を作成

ネイティブモードの DLL から LIB を作成します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

DLL の作成

  1. Win32 DLL Gcm,Lcm で説明したように Win32 ネイティブモードの DLL を組み込むには LIB が必要です。
    (LIB が無くても組み込む方法はあるのですが、ある方が簡単で解り易い) (^_^;)
    そこで GcmLcm.dll を例にして、LIB が無い場合に DLL から LIB を作成する方法を説明します。
    このページの作成にあたっては、次のページを参考にさせていただきました。
    VC++でDLLから.libファイルを作成するには?
  2. 作業用のフォルダー(C:\TMP)を作成します。
    次のファイルをコピーしてきて下さい。
    ファイル名 説明
    dumpbin.exe C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\ からコピー
    lib.exe C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\ からコピー
    link.exe C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\ からコピー
    mspdb80.dll C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\ からコピー
    GcmLcm.dll Win32 DLL Gcm,Lcm を参照して作成
  3. GcmLcm.dll から GcmLcm.lib を作成する手順は、次のとおりです。
    ネイティブモードの関数を登録した DLLファイルを用意して下さい。
    ①DLL の内容をテキスト形式で書き出します。
    ②①を参照して DEFファイルを作成します。
    ③DEFファイルと DLL から LIBファイルを作成します。
  4. コマンド プロンプトを起動して、作業用のフォルダー(C:\TMP)に移動して下さい。
    1. 次のコマンドを実行すると GcmLcm.txt が作成されます。
      dumpbin /exports GcmLcm.dll > GcmLcm.txt
      gcm, lcm が登録されている関数の名前です。
       Microsoft (R) COFF/PE Dumper Version 8.00.50727.762
      Copyright (C) Microsoft Corporation.  All rights reserved.
      
      
      Dump of file gcmlcm.dll
      
      File Type: DLL
      
        Section contains the following exports for GcmLcm.dll
      
          00000000 characteristics
          4F9B22FB time date stamp Sat Apr 28 07:51:39 2012
              0.00 version
                 1 ordinal base
                 2 number of functions
                 2 number of names
      
          ordinal hint RVA      name
      
                1    0 00011104 gcm
                2    1 000110FF lcm
      
        Summary
      
              1000 .data
              1000 .idata
              2000 .rdata
              1000 .reloc
              1000 .rsrc
              4000 .text
             10000 .textbss
      
    2. TextEditor を使って GcmLcm.txt を参照して GcmLcm.def を作成します。
      EXPORTS
          gcm
          lcm
      
    3. GcmLcm.def と GcmLcm.dll から GcmLcm.lib ファイルを作成します。
      lib /DEF:GcmLcm.def /MACHINE:X86 /out:GcmLcm.lib
  5. 作業用のフォルダー(C:\TMP)に GcmLcm.lib ファイルが作成されます。
    ネイティブモードの関数を登録した DLL を使用して下さい。
    Class を登録した DLL では、関数名を見つけることが出来ないようです。

超初心者のプログラム入門(C/C++)