Benutzer mit den meisten Antworten
Fehlende Headerdateien

Frage
-
Ich habe versucht ein DirectX-Programm nach einem Tutorial zu machen. Mein Compiler (Visual Express C++ 2010) kann aber keine D3DX-Dateien(d3dx11,d3dx10,d3dx11core) einbinden, weil sie nicht vorhanden sind.
Bei dem Tutrial wird auch dieser Compiler verwendet, also müsste er diese Dateien auch besitzen, tut er aber nicht.
Ich hoffe dass mir jmd helfen kann
Danke im Voraus
Antworten
-
Jetzt neues Problem: die .lib können nicht gelesen werden
- Als Antwort markiert birdfreeyahoo Mittwoch, 10. August 2011 22:04
Alle Antworten
-
Ich vermute eher, dass Du die DirectX SDK Dateien noch installieren musst!
Siehe hier http://msdn.microsoft.com/de-de/directx
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de -
Diese hab ich schon(June 2010), aber ich kann nur d3d10 u. d3d11 einbinden. Den Quellcode der Dateien von d3dx10 u. 11 hab ich kopiert und eigene headerdateien erstellt (Code aus I-Net), aber diese binden weitere header-dateien ein, die ich nicht habe.
Ich weiß nicht ob das SDK allein durch die Installation C++ dient
-
-
d3dx11core.h"
"d3dx11tex.h"
"d3dx11async.h"Ist mein June 2010-Kit überhaupt das richtige?
Kann ich jetzt mit dem VC++ Express programmieren oder muss ich speziell die Dateien angeben
Quellcode von einem Programm
// include the basic windows header files and the Direct3D header files #include <windows.h> #include <windowsx.h> #include <d3d11.h> #include "d3dx11.h" #include "d3dx10.h" // include the Direct3D Library file #pragma comment (lib, "d3d11.lib") #pragma comment (lib, "d3dx11.lib") #pragma comment (lib, "d3dx10.lib") // global declarations IDXGISwapChain *swapchain; // the pointer to the swap chain interface ID3D11Device *dev; // the pointer to our Direct3D device interface ID3D11DeviceContext *devcon; // the pointer to our Direct3D device context // function prototypes void InitD3D(HWND hWnd); // sets up and initializes Direct3D void CleanD3D(void); // closes Direct3D and releases memory // the WindowProc function prototype LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); // the entry point for any Windows program int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { HWND hWnd; WNDCLASSEX wc; ZeroMemory(&wc, sizeof(WNDCLASSEX)); wc.cbSize = sizeof(WNDCLASSEX); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = WindowProc; wc.hInstance = hInstance; wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)COLOR_WINDOW; wc.lpszClassName = L"WindowClass"; RegisterClassEx(&wc); RECT wr = {0, 0, 800, 600}; AdjustWindowRect(&wr, WS_OVERLAPPEDWINDOW, FALSE); hWnd = CreateWindowEx(NULL, L"WindowClass", L"Our First Direct3D Program", WS_OVERLAPPEDWINDOW, 300, 300, wr.right - wr.left, wr.bottom - wr.top, NULL, NULL, hInstance, NULL); ShowWindow(hWnd, nCmdShow); // set up and initialize Direct3D InitD3D(hWnd); // enter the main loop: MSG msg; while(TRUE) { if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); if(msg.message == WM_QUIT) break; } else { // Run game code here // ... // ... } } // clean up DirectX and COM CleanD3D(); return msg.wParam; } // this is the main message handler for the program LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch(message) { case WM_DESTROY: { PostQuitMessage(0); return 0; } break; } return DefWindowProc (hWnd, message, wParam, lParam); } // this function initializes and prepares Direct3D for use void InitD3D(HWND hWnd) { // create a struct to hold information about the swap chain DXGI_SWAP_CHAIN_DESC scd; // clear out the struct for use ZeroMemory(&scd, sizeof(DXGI_SWAP_CHAIN_DESC)); // fill the swap chain description struct scd.BufferCount = 1; // one back buffer scd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; // use 32-bit color scd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; // how swap chain is to be used scd.OutputWindow = hWnd; // the window to be used scd.SampleDesc.Count = 4; // how many multisamples scd.Windowed = TRUE; // windowed/full-screen mode // create a device, device context and swap chain using the information in the scd struct D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, NULL, NULL, NULL, D3D11_SDK_VERSION, &scd, &swapchain, &dev, NULL, &devcon); } // this is the function that cleans up Direct3D and COM void CleanD3D(void) { // close and release all existing COM objects swapchain->Release(); dev->Release(); devcon->Release(); }
Da sind jetzt "meine" Header muss ich sie so bloß mit <> oder mit irgendeiner Pfadangabe einbinden -
Hat sich erledigt, hab vergessen das SDK-Verzeichnis unter Projekt/Eigenschaften anzugeben
- Als Antwort markiert birdfreeyahoo Mittwoch, 10. August 2011 14:18
- Tag als Antwort aufgehoben birdfreeyahoo Mittwoch, 10. August 2011 15:36
-
Jetzt neues Problem: die .lib können nicht gelesen werden
- Als Antwort markiert birdfreeyahoo Mittwoch, 10. August 2011 22:04