Hey there,
I am having a error when trying to build a Win32 Desktop application in VS 2012
here is the code:-
Errors:-
Waiting for help, Thanks
Arunabh
I am having a error when trying to build a Win32 Desktop application in VS 2012
here is the code:-
#include <Windows.h> #include <d3d11_1.h> static TCHAR szWindowClass[] = L"DX11_Win32 Application"; static TCHAR szWindowTitle[] = L"DirectX 11 Test"; IDXGISwapChain *swapChain; ID3D11Device *device; ID3D11DeviceContext *deviceContext; void InitD3D(HWND hWnd); void ClearD3D(void); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow) { WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInst; wcex.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_WINLOGO)); wcex.hCursor = LoadCursor(hInst, MAKEINTRESOURCE(IDC_HAND)); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW +16); wcex.lpszMenuName = NULL; wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_APPLICATION)); if(!RegisterClassEx(&wcex)) { MessageBox(NULL, L"Call to RegisterClassEx Failed!", L"Win32 DX11", NULL); return 1; } RECT wr = {800, 600, 0, 0}; AdjustWindowRect(&wr, WS_OVERLAPPEDWINDOW, FALSE); HWND hWnd = CreateWindow( szWindowClass, szWindowTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, wr.left - wr.right, wr.top - wr.bottom, NULL, NULL, hInst, NULL); if(!hWnd) { MessageBox(NULL, L"Call to CreateWindow failed", L"Error!", NULL); return 1; } ShowWindow(hWnd, nCmdShow); InitD3D(hWnd); MSG msg; while(TRUE) { if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { DispatchMessage(&msg); TranslateMessage(&msg); if(msg.message == WM_QUIT) break; } else { //run game code } } ClearD3D(); return msg.wParam; } LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_DESTROY: { PostQuitMessage(0); return 0; } break; default: DefWindowProc(hWnd, message, wParam, lParam); break; } } void InitD3D(HWND hWnd) { DXGI_SWAP_CHAIN_DESC scd; ZeroMemory(&scd, sizeof(DXGI_SWAP_CHAIN_DESC)); scd.BufferCount = 1; scd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; scd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; scd.OutputWindow = hWnd; scd.SampleDesc.Count = 8; scd.Windowed = TRUE; D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, NULL, NULL, NULL, D3D11_SDK_VERSION, &scd, &swapChain, &device, NULL, &deviceContext); } void ClearD3D() { swapChain->Release(); device->Release(); deviceContext->Release(); }
Errors:-
1>------ Build started: Project: D3D_engine, Configuration: Debug Win32 ------ 1>Build started 12/15/2012 2:06:35 PM. 1>InitializeBuildStatus: 1> Touching "Debug\D3D_engine.unsuccessfulbuild". 1>ClCompile: 1> All outputs are up-to-date. 1>Engine.obj : error LNK2019: unresolved external symbol _D3D11CreateDeviceAndSwapChain@48 referenced in function "void __cdecl InitD3D(struct HWND__ *)" (?InitD3D@@YAXPAUHWND__@@@Z) 1>c:\users\arunabh\documents\visual studio 2012\Projects\D3D_engine\Debug\D3D_engine.exe : fatal error LNK1120: 1 unresolved externals 1> 1>Build FAILED. 1> 1>Time Elapsed 00:00:00.46 ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Waiting for help, Thanks
Arunabh