ich erstellen Konsolenanwendung in VC++ 2010 und fügen Sie den folgenden Code hinzu:nicht aufgelöstes externes Symbol _IID_IDXGIFactory
#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; }
dieses Projekt Aufbau, ich habe Linkerfehler: Fehler LNK2001: extern Symbol _IID_IDXGIFactory
Jetzt erstelle ich Konsolenanwendung mit MFC-Unterstützung und füge denselben Code hinzu. Der Build ist erfolgreich. Was ist im ersten Fall falsch? Warum MFC-Projekt wird erfolgreich erstellt, und Nicht-MFC-Projekt schlägt fehl?
Danke! Ich fand auch, dass dxguid.lib das Problem löst. –
Der Unterschied ist, dass "dxguid.lib" DirectX SDK-Bibliothek ist (im Gegensatz zu Windows SDK), und nach MSDN ist das Symbol bereits in "Kern" Windows SDK. –
windowscodecs.lib hat geholfen, aber nicht alle meine Fehler behoben. Also, sowohl das als auch dxguid.lib, wie Alex gesagt hat, ist, was es brauchte. Vielen Dank! – leetNightshade