ブログ

割とコンピュータよりの情報をお届けします。

2018年8月6日

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++][詳細設定]の呼び出し規約も注意する必要がある。

≫ 続きを読む

2018/08/06 コンピュータ   TakeMe