4

VC ++ 2010でコンソールアプリケーションを作成し、それに次のコードを追加します。

#include <d3d10.h>
#include <d3dx10.h>
#include <DxErr.h>

#pragma comment(lib、 "d3d10.lib")
#pragma comment(lib、 "d3dx10.lib")
#pragma comment(lib、 "dxgi.lib")
#pragma comment(lib、 "dxerr.lib")

int _tmain(int argc、_TCHAR * argv [])
{{
    IDXGIFactory * pDXGIFactory;
    CreateDXGIFactory(IID_IDXGIFactory、(void **)&pDXGIFactory);

    0を返します。
}

このプロジェクトをビルドすると、リンカーエラーが発生します:エラーLNK2001:未解決の外部シンボル_IID_IDXGIFactory

次に、MFCをサポートするコンソールアプリケーションを作成し、同じコードを追加します。ビルドは成功しました。最初のケースの何が問題になっていますか?MFCプロジェクトが正常にビルドされ、非MFCプロジェクトが失敗するのはなぜですか?

4

2 に答える 2

9

この識別子を保持する別のライブラリを参照する必要があります。

#pragma comment(lib, "windowscodecs.lib")

MSDN によるとDXGI.lib、事実上、少なくとも Windows SDK 7.0 では別のライブラリに含まれています。

于 2012-03-28T16:02:49.023 に答える