忘れないうちにメモ。
1.DLLの作成
1-0.プロジェクトの作成
(1)「ファイル」→「新規」→「プロジェクト」
(2)「Win32」→「Win32コンソールアプリケーション」
(3)「プロジェクト名」に FooProject と入力
(4)「アプリケーションの設定」で「DLL」と「空のプロジェクト」をチェック
1-1.ヘッダファイル(foo.h)の作成
#ifndef __FOO_H
#define __FOO_H
#include <string>
extern "C" std::string foo(std::string bar);
#endif
1-2.実装ファイル(foo.cpp)の作成
#include <string>
#include "foo.h"
extern "C" std::string foo(std::string bar)
{
std::string str = bar;
return bar;
}
1-3.モジュール定義ファイル(foo.def)の作成
LIBRARY "FooProject" ;←プロジェクト名
EXPORTS
foo
1-4.プロパティ設定
(1)メニューの「プロジェクト」→「FooProjectのプロパティ」
(2)「構成プロパティ」→「リンカ」→「入力」
(3)「モジュール定義ファイル」に foo.def を入力
1-5.ビルド
(゚Д゚)ウマー
2.DLLを使うC++プログラムの作成
1-0.プロジェクトの作成
(1)「ファイル」→「新規作成」→「プロジェクト」
(2)「Win32」→「Win32コンソールアプリケーション」(このとき、「ソリューションに追加」を選択)
(3)「プロジェクト名」に FooExec と入力
(4)「アプリケーションの設定」で「プリコンパイル済みヘッダー」のチェックをはずす
1-1.実行ファイル(FooExec.cpp)の作成
#include <iostream>
#include <string>
#include "foo.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
string hello = "Hello";
cout << foo(hello) << endl;
return 0;
}
1-2.プロパティ設定
(1)「プロジェクト」→「FooExecのプロパティ」
(2)「共通プロパティ」→「新しい参照の追加」→「FooProject」を選択
(3)「構成プロパティ」→「C/C++」→「全般」→「追加のインクルードディレクトリ」にfoo.hへのパスを入力
(4)「構成プロパティ」→「デバッグ」→「環境」に PATH= に続けてFooProject.dllのパスを入力
1-3.ビルド
(゚Д゚)ウマー