ああ、Visual StudioでのDLLと依存関係の喜びをチェックされていることを確認してください。私はC#のプログラマーは簡単にそれを持って、誓う:)
あなたはLIBファイルが実際に作成されることが確実な?あなたのDLLプロジェクトがシンボルをエクスポートしない場合、あなたはlibファイルを取得せず、何もリンクされません。
あなたのDLLプロジェクトがMYPROJECTNAME_EXPORTS
のようなものを定義しています。だから、ことを確認する必要があります。 Visual Studioでは、プロジェクトの作成時に適切なチェックボックスをオンにすると、このシンボルが定義されます。あなたがこれをしなかったなら、それはとても簡単です。前述のシンボルは、あなたのDLLのためのプリプロセッサディレクティブにあることを確認し、共通のヘッダファイルに次のように定義されていることを確認してください。私たちはそのMYPROJECT_API
が適切に定義されていることを知っていたら、私たちは確認する必要があり
#if defined(MYPROJECTNAME_EXPORTS)
#define MYPROJECT_API __declspec(dllexport)
#else
#define MYPROJECT_API __declspec(dllimport)
#endif
-
class MYPROJECT_API SomeClass
{
}; // eo class SomeClass
そして、そのクラスが何かを実装し、実際にする必要があります:私たちはエクスポートする任意のクラスや関数は、それに宣言だと持っていることコンパイラは最適化されていません。要するに
何のシンボルは、それからエクスポートされなかったので、何も発生しなかったので、あなたは.lib
ファイルを見つけることができない理由があります。
だけ明確にするために、あなたは、プロパティ - >リンカー - >追加のライブラリディレクトリへ>リンカー - >入力し、そのパスをプロパティ - する** ** dll_test.libを追加しましたか? –
いいえ、私はしませんでした。しかし、それはlibを作成するはずではない、それはdllを作成するはずです。 –
DLLプロジェクトを静的に参照するには、ヘッダーファイル、DLLファイル*および対応するLIBファイルが必要です。実際のコードはもちろんDLLにありますが、リンカがDLLに静的にリンクできるようにLIBファイルが必要です。 DLLプロジェクトをコンパイルするとき、リンカはDLLファイルとそのLIBファイルを作成する必要があります。 –