3章:DLLの作成方法

    作成2021/10/13

  1. Visual Studio 2019のダウンロード
     以下のアドレスからダウンロードできます。
    https://visualstudio.microsoft.com/ja/free-developer-offers/に行く。



  2. . DLLの作成方法
    (1) Visual Studio 2019を起動します。



    (2)新しいプロジェクトの作成(N)を押します。
    (3)プルダウンを「C++」と「Windows」と「ライブラリ」にセットすると、ダイナミックライブラリ(DLL)が表示されます。



    (4)フィルター処理されたプロジェクト タイプの一覧から、[ダイナミック リンク ライブラリ (DLL)]を選択して、[次へ]を選択します。
    (5)[プロジェクト名]ボックスに「DLL_TEST64」と入力して、プロジェクトの名前を指定します。[場所]および[ソリューション名]の値は既定のままにします。[ソリューションとプロジェクトを同じディレクトリに配置する]をオフにします。
    (6)[作成]ボタンをクリックしてプロジェクトを作成します。



    (7)標準文字セットが日本語対応でないため、設定を変更します。
    (8)「プロジェクト」_ 「 DLL_TEST64のプロパティ」を選択します。
    (9)「構成プロパティ」_ 「 詳細」を選択します。
    (10)文字セットをマルチバイト文字セットを使用するに変更します。



    (11)適用ボタンを押します。
    (12)OKボタンを押します。
    (13)関数のヘッダー ファイルを作成するには、メニュー バーで?[プロジェクト]?>?[新しい項目の追加]?の順に選択します。
    (14)[新しい項目の追加]?ダイアログ ボックスの左側のウィンドウで、?[Visual C++]を選択します。 中央のウィンドウで、?[ヘッダー ファイル (.h)]をクリックします。 ヘッダー ファイルの名前として「 DLL_TEST64.h」を指定します。



    (15)[追加]?ボタンを選択して空白のヘッダー ファイルを生成します。これは新しいエディター ウィンドウに表示されます。



    (16)ヘッダー ファイルの内容を次のコードに置き換えます。
    #pragma once
    #ifdef DLL_TEST64_EXPORTS
    #define DLL_TEST64_API __declspec(dllexport)
    #else
    #define DLL_TEST64_API __declspec(dllimport)
    #endif
    
    extern "C" DLL_TEST64_API void DLL_TEST1();
    extern "C" DLL_TEST64_API double ADD(double a, double b);
    



    (17).cppファイルを作成するには、メニュー バーで?[プロジェクト]>[新しい項目の追加]?の順に選択します。
    (18)[新しい項目の追加]ダイアログ ボックスの左側のウィンドウで、[Visual C++]を選択します。 中央のウィンドウで、 [C++ファイル (.ccp)]をクリックします。 .ccpファイルの名前として「 DLL_TEST64.ccp」を指定します。



    (19)[追加]?ボタンを選択して空白の.ccpファイルを生成します。これは新しいエディター ウィンドウに表示されます。



    (20).ccpファイルの内容を次のコードに置き換えます。
    #include "pch.h" 
    #include "DLL_TEST64.h"
    
    void DLL_TEST1()
    {
    	MessageBox(NULL, TEXT("DLL呼び出し成功!"), TEXT("test"), MB_OK);
    	Beep(523, 200);
    }
    
    double ADD(double a, double b)
    {
    	return a + b;
    }
    
    (22)ビルドの条件を「Relese」「x64」に設定します。(64bitシステム用です。)



    (23)「ビルド」_「ソリューションのビルド」ビルドの条件を「Relese」「x64」に設定します。(64bitシステム用です。)
    (24)メニュー バーで[ビルド]>[ソリューションのビルド]の順に選択します。
    (25)以下の結果が出力されます。
    ビルドを開始しました...
    1>------ ビルド開始: プロジェクト: DLL_TEST64, 構成: Release x64 ------
    1>pch.cpp
    1>dllmain.cpp
    1>DLL_TEST64.cpp
    1>C:\Users\susum\source\repos\DLL_TEST64\DLL_TEST64\DLL_TEST64.cpp(5,1): warning C4273: 'DLL_TEST1': dll リンケージが一貫していません。
    1>C:\Users\susum\source\repos\DLL_TEST64\DLL_TEST64\DLL_TEST64.h(8,32): message : 'DLL_TEST1' の以前の定義を確認してください
    1>C:\Users\susum\source\repos\DLL_TEST64\DLL_TEST64\DLL_TEST64.cpp(11,1): warning C4273: 'ADD': dll リンケージが一貫していません。
    1>C:\Users\susum\source\repos\DLL_TEST64\DLL_TEST64\DLL_TEST64.h(9,34): message : 'ADD' の以前の定義を確認してください
    1>   ライブラリ C:\Users\susum\source\repos\DLL_TEST64\x64\Release\DLL_TEST64.lib とオブジェクト C:\Users\susum\source\repos\DLL_TEST64\x64\Release\DLL_TEST64.exp を作成中
    1>コード生成しています。
    1>Previous IPDB not found, fall back to full compilation.
    1>All 3 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
    1>コード生成が終了しました。
    1>DLL_TEST64.vcxproj -> C:\Users\susum\source\repos\DLL_TEST64\x64\Release\DLL_TEST64.dll
    1>プロジェクト "DLL_TEST64.vcxproj" のビルドが終了しました。
    ========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========
    

    これで Visual C++ を使用して DLL が作成されました。
    (26) Visual Studio 2019を終了します。
    C:\Users\susum\source\repos\DLL_TEST64\x64\Releaseホルダーに以下のファイルが生成されました。



    作成されたDLL(ダイナミックリンクライブラリ)は、64 ビット オペレーティング システム用です。




4章:Visual Studio でクライアント アプリを作成に行く。

トップページに戻る。