未解析的外部符号_IID_IDXGIFactory

Ale*_*x F 4 c++ directx linker visual-studio-2010 dxgi

我在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);

    return 0;
}

构建此项目,我有链接器错误:错误LNK2001:未解析的外部符号_IID_IDXGIFactory

现在我创建具有MFC支持的控制台应用程序,并添加相同的代码.构建成功.第一种情况有什么问题?为什么MFC项目成功构建,非MFC项目失败?

Rom*_* R. 9

您需要引用另一个包含此标识符的库:

#pragma comment(lib, "windowscodecs.lib")
Run Code Online (Sandbox Code Playgroud)

MSDN说它DXGI.lib有效但至少Windows SDK 7.0将它放在不同的库中.