C/C++ による汎用 DLL を作成する その2

今回は C++ による汎用 DLL を作成するための
Visual Studio のプロジェクトを作成します。
Visual Studio のバージョンによっては多少の違いはありますが、
概ねここで紹介するような方法でできると思います。
ちなみにここでは Visual Studio Professional 2013 Update 5 を使用します。

まず、Visual Studio で新しいプロジェクトを作成し、
そのテンプレートとして「Visual C++」→「Win32 プロジェクト」を選択します。
バージョンによっては「Win32 アプリケーション」という名前になっています。
クリップボード01

このプロジェクトを追加するとき、
Win32 アプリケーションウィザードが自動的に開き、
プロジェクトの初期設定がおこなわれます。
このウィザード上で、アプリケーションの種別を「DLL」に、
追加のオプションを「空のプロジェクト」とし、
その他のチェックボックスをすべて外してプロジェクトを作成します。
クリップボード02

プロジェクト追加直後はソースファイルやヘッダファイルが空のため、
適当な名前のソースファイルおよびヘッダファイルの組を追加します。
ここでは「SampleDll.h」、「SampleDll.cpp」を追加しています。

さらに、DLL として公開する関数名を定義するためにモジュール定義ファイルを追加します。
このファイルはソリューションエクスプローラで「ソースファイル」を右クリックして
「追加」→「新しい項目」メニューから「新しい項目の追加」ダイアログを開き、
「Visual C++」→「コード」→「モジュール定義 (.def)」を選択することで追加できます。
ここでは「SampleDll.def」を追加しています。
クリップボード03

モジュール定義ファイルはリンカーへの入力として指定する必要があります。
ソリューションエクスプローラからプロジェクトのプロパティを開き、
「リンカー」→「入力」→「モジュール定義ファイル」の項目に SampleDll.def と記述します。
プロパティの設定は Debug 構成と Release 構成に分かれているため、
両方忘れずに設定してください。
クリップボード04

また、プロジェクトのプロパティ設定にて、
「全般」→「プラットフォーム ツールセット」の項目は
必要に応じて WindowsXP 対応のものにしたほうが良いでしょう。
サポートが切れているとはいえ、まだまだ移行できていない業界は
珍しくないと思います。
クリップボード05

以上で C/C++ による汎用 DLL 作成のための準備が整いました。
次回以降では実際のコードを実装していきます。