Microsoft Visual Studio Express 2017 for Windows Desktop でDLL作成
Visual Studio Professionalならテンプレートがついていてすぐできるのだが,Expressではdll作成のテンプレートがないので自分で設定しないといけない。
(なお,いったんプロジェクトを作ってしまうとExpressでも使える。)
まずは,コンソールアプリを作るテンプレートを開く。
プロジェクトのプロパティを開き,「C/C++」「プリプロセッサ」「プリプロセッサの定義」を見ると「_CONSOLE」が入っているはずなので削除。
おそらく
_WINDOWS
_USRDLL
TEST_EXPORTS
を追加しないといけない。(TEST_EXPORTSは例えば)
「全般」の構成の種類はダイナミック ライブラリ(.dll)にしなければならない。
例えば,ヘッダファイルは以下のようにする。
#pragma once #ifdef TEST_EXPORTS #define TEST_API extern "C" __declspec(dllexport) #else #define TEST_API extern "C" __declspec(dllimport) #endif TEST_API int test(void);
このヘッダファイルは関数を定義するソースの先頭かstdafx.hで読ませておく必要がある。そして本体ソースは以下のようになる。
#include "stdafx.h" TEST_API int test(void) { return 1; }
プロジェクトのプロパティの[C/C++][詳細設定]の呼び出し規約も注意する必要がある。