2010-11-26 22 views
3

VS2005では使用できないmicrosoft sdkで定義されているidlファイルが1つあります。私はそのIDLからいくつかのインターフェイスを使用しています。エラーLNK2001:未解決の外部シンボル_CLSID_XYS

これはVS 2010で正常に動作します。私はそれをVS2005でコンパイルしたいと思っています。

ヘッダーファイルを自分のプロジェクトディレクトリにコピーしました。しかし、それは私にコンパイルエラーを与えている。

ヘッダーファイルを調べると、クラスIDは EXTERN_C const CLSID CLSID_Xyzと定義されています。

これはexternとして定義されているため、コード内の他の場所で宣言する必要があります。

私の質問には.hファイルだけで十分です。また、_i.cファイルも含める必要がありますか?

任意の提案

答えて

4

あなたはその_i.cファイルを調べたら、確かにCLSID定数がそこに定義されて表示されます。ですから、.cファイルを.cファイルや.cppファイルに#includeするか、プロジェクトに追加して別々にコンパイルし、最終的なバイナリにリンクすることで、その.cファイルをプログラムに組み込む必要があります。

+0

プロジェクトに_i.cを追加すると問題が解決されます。 – anand

関連する問題