タイトルが言うように、私が本当に意味しているのは「後でそれらを使用する」ことだと思いますが。
セットアップ
私はこの答えに従いました:
https://stackoverflow.com/a/13219631/696407
非常に単純なdllを作成します
#include <stdio.h>
extern "C"
{
__declspec(dllexport) void DisplayHelloFromMyDLL()
{
printf ("Hello DLL.\n");
}
}
そして、リリース用にコンパイルされたdllがあります:
- DllTest.dll
- DllTest.exp
- DllTest.lib
- DllTest.pdb
dumpbin から DllTest.dll を実行すると、次の行が見つかります。
1 0 00001000 DisplayHelloFromMyDLL = _DisplayHelloFromMyDLL
DLL の使用
その機能を新しいソリューションで使用するには、
- 新しいソリューションでプロジェクトを開始する
- DLL の場所を以下のプロジェクトに追加します。
- プロパティ
- 構成プロパティ
- リンカ
- 全般的
- 追加のライブラリ ディレクトリ
- 全般的
- リンカ
- 構成プロパティ
- プロパティ
- 以下に .lib ファイルを追加します。
- プロパティ
- 構成プロパティ
- リンカ
- 入力
- 追加の依存関係
- 入力
- リンカ
- 構成プロパティ
- プロパティ
そして、そこに .lib を追加したら、次のステップは... hvæt?
私のコードは今:
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
while(1)
{
DisplayHelloFromMyDLL();
}
return 0;
}
しかし、それはうまくいきません。
編集:「うまくいかない」というのは曖昧だと思います。関数は取得しますError: identifier "DisplayHelloFromMyDLL" is undefined
(補足質問: 私の関数は呼び出されていますDisplayHelloFromMyDLL();
か_DisplayHelloFromMyDLL();
?)