4

コンパイルされたヘッダーを使用して動的ライブラリを作成し、DLL をコンパイルしました (Visual Studio 2012 を使用)。

また、生成された以前のDLLを参照したいVisual Studio 2012で作成されたC++プロジェクトもあります。

Visual Studio 2012 C++ プロジェクトでその (Dynamic Lib) DLL を参照する方法は? ライブラリの関数を使用する場合、ヘッダー ファイル (.h) も指定する必要がありますか?

4

4 に答える 4

4

Framework and Referencesプロジェクトのプロパティ ダイアログの項目を使用して DLL プロジェクトを参照するのが最も簡単だと思います。

ここに画像の説明を入力

C++ ネイティブ コードに奇妙な .Net を追加しているように見えますが、ネイティブ コード プロジェクトが別のプロジェクトを参照する最も簡単な方法でもあります。

その DLL で関数を呼び出したい場合は、おそらくその DLL のヘッダー ファイルをインクルードする必要があります。

于 2012-10-25T20:07:38.833 に答える
2

これを行うにはいくつかの方法がありますが、C++ にはリフレクションがないため、関数が認識されるようにプロジェクトにヘッダーを含める必要があるという共通点があります。

  1. 静的なリンクをスキップして、LoadLibrary を使用して dll をロードし、GetProcAddress を使用して関数を取得することができます。これには、DLL をオプションにすることができるという利点があります。そこにない場合は、呼び出しを避けるか、ユーザーフレンドリーなエラーメッセージを表示することができます.

  2. dll に静的にリンクできます。これは、dll の .lib ファイルをプロジェクトに追加することを意味します。これを行うにはいくつかの方法があります。古い学校の方法は、ソリューション/リンカー/入力/追加のプロパティに追加することです。依存関係を調べ、dll が exe 検索パスにあることを確認します。見つからない場合は、エラー メッセージが表示されます。

于 2012-10-25T20:33:27.940 に答える
0

ここでドキュメントを参照できます: http://msdn.microsoft.com/en-us/library/ms235636(v=vs.80).aspx (ダイナミック リンク ライブラリの作成と使用)

于 2012-10-25T20:10:06.220 に答える