Autor Wątek: Problem ze skonfigurowaniem dev-c++  (Przeczytany 4970 razy)

Offline sir_xeno

  • Użytkownik

# Kwiecień 25, 2010, 15:10:26
Nie musiałbyś. Przyznaj, że nie czytałeś nawet Warsztat FAQ. :P

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline kezcinwołs

  • Użytkownik

# Kwiecień 26, 2010, 17:28:13
Dobra... robię nowy projekt w visual studio 2008, wklejam ten kod, i... co mu teraz dolega? Błąd przy kompilowaniu:



żeby mi się udało skonfigurować wreszcie jakiś kompilator tak żebym mógł spokojnie na nim pisać w directx... tylko to, reszta jakoś pójdzie...
« Ostatnia zmiana: Kwiecień 26, 2010, 17:30:31 wysłana przez kezcinwołs »

Offline rm-f

  • Użytkownik
    • Tu trolluje

# Kwiecień 26, 2010, 17:48:43
Temat powinien polecieć do POL chyba że, wyszukiwarka sieciowa i msdn przestały dziś istnieć ?  ???
Podpowiem że pierwszy wynik z wyszukiwarki o nazwie google wyjaśnia sprawę.


// Panie świrus, dostajesz Pan 48-godzinnego za publiczne wygłaszanie swoich "światłych" opinii o tym, które wątki mają lądować w PoL, a które nie. Od tego są moderatorzy, a takie posty niczemu nie służą i tylko obrażają OP. Niech to będzie też ostrzeżenie dla innych.
« Ostatnia zmiana: Kwiecień 27, 2010, 14:01:55 wysłana przez Xion »

Offline kezcinwołs

  • Użytkownik

# Kwiecień 27, 2010, 13:02:22
Proszę o konkrety... Jestem zagubiony, w takich wypadkach najlepiej przeanalizować wszystko od A do Z. Jest dla mnie ważne żeby zrobić cokolwiek trójwymiarowego w directx, żeby mieć 6 z informatyki i 20pkt. do przodu wliczone za test gimnazjalny, aby dostać się do jakiegoś cholernego liceum. Kompilator- visual studio 2008. File->new->project->Visual C++ rozwijam listę->win32->win32 project->nazwa, ok-> next-> app. type windows app. aditional options zaznaczam empty project i finish. No i mam sobie szary ekran, bez "empty file" w którym mogę coś napisać. Więc biorę file->new->file...->rozwijam web i wybieram visual c++ i potem c++ file .cpp i open. Wklejam kodzik, build->build(nazwa projektu) i mam tego errora. I teraz proszę od A do Z, bez nie domówień, co zrobiłem źle? Albo co powinienem zrobić? Do bani...
« Ostatnia zmiana: Kwiecień 27, 2010, 13:09:12 wysłana przez kezcinwołs »

Offline Kos

  • Użytkownik
    • kos.gd

# Kwiecień 27, 2010, 13:11:22
My tu chętnie pomagamy, ale... Mamy _diagnozować_ problem za Ciebie? Chcesz być programistą czy nie? :)

Offline Joker

  • Użytkownik

# Kwiecień 27, 2010, 13:27:36
Cytuj
Jest dla mnie ważne żeby zrobić cokolwiek trójwymiarowego w directx, żeby mieć 6 z informatyki i 20pkt. do przodu wliczone za test gimnazjalny, aby dostać się do jakiegoś cholernego liceum.
Ojej, najwyżej pójdziesz do zawodówki. :D W sumie to było by chyba nawet lepiej (o ile sam swojego problemu nie rozwiążesz.)

Offline _OskaR

  • Użytkownik

# Kwiecień 27, 2010, 17:44:22
Proszę o konkrety... Jestem zagubiony, w takich wypadkach najlepiej przeanalizować wszystko od A do Z. Jest dla mnie ważne żeby zrobić cokolwiek trójwymiarowego w directx, żeby mieć 6 z informatyki i 20pkt. do przodu wliczone za test gimnazjalny, aby dostać się do jakiegoś cholernego liceum. Kompilator- visual studio 2008. File->new->project->Visual C++ rozwijam listę->win32->win32 project->nazwa, ok-> next-> app. type windows app. aditional options zaznaczam empty project i finish. No i mam sobie szary ekran, bez "empty file" w którym mogę coś napisać. Więc biorę file->new->file...->rozwijam web i wybieram visual c++ i potem c++ file .cpp i open. Wklejam kodzik, build->build(nazwa projektu) i mam tego errora. I teraz proszę od A do Z, bez nie domówień, co zrobiłem źle? Albo co powinienem zrobić? Do bani...
http://www.google.pl/#hl=pl&source=hp&q=c1010070%3A+failed+to+load+and+parse+manifest&lr=&aq=f&aqi=&aql=&oq=&gs_rfai=&fp=cdebb44b505a7970 - pierwszy wynik, pierwsza odpowiedź, trzeci podpunkcik - dokładnie to robisz. Stworzenie nowego pliku w niczym nie pomoże, jeśli nie będzie on powiązany z projektem. Możesz albo go powiązać z projektem, albo uprościć sobie sprawę w nieco inny sposób - wystarczy poszukać jak robić projekt w VS.

Offline Ciunkos

  • Użytkownik
    • Black Sheep

# Kwiecień 27, 2010, 18:15:56
"Od zera do w DirectX kodera"

1. Szukamy SDK do DirectX, które jest wymagane do pisania w nim programów i gier. Google hasło: "Microsoft DirectX SDK":


2. Zazwyczaj pierwszy wynik jest poprawny:


3. Tu już kierujemy się sami(podstawowa znajomość angielskiego wymagana ;)):


4. Trzeba przejść test sprawdzający legalność systemu:


5. Po przejściu możemy już pobierać:


6. Ruszyła maszyna i nikt nie zatrzyma...



7. Po pobraniu pliku z SDK rozpoczynamy jego instalację:


8. Czytamy licencje i akceptujemy jej warunki:


9. Możemy uczestniczyć w programie poprawy jakości lub z  niego zrezygnować:


10. Wybieramy gdzie zainstalować SDK(domyślna lokacja wydaje się być najlepsza :))


11. Możemy wybrać składniki, które mają być zainstalowane:


12. Musimy przeczekać proces instalacji:


13. DirectX SDK zainstalowane - przy okazji możemy wziąć udział w ankiecie ;)


14. Włączmy Visual C++ 2008:


15. Włączmy menu ustawień środowiska:


16. Przechodzimy do Projects and Solutions -> VC++ Directories i w Show Directories For wybieramy Include Files:


17. Klikając na ikonkę folderu dodajemy nowy wpis:


18. Przechodzimy do folderu gdzie zainstalowaliśmy SDK i zaznaczamy folder Include oraz zatwierdzamy nasz wybór:


19. Tak powinien wyglądać ten wpis:


20. Podobnie robimy teraz tylko tylko dla bibliotek:


21. Dodajemy wpis:


22. Wybieramy folder x86 i zatwierdzamy:


23. Tak powinno to wyglądać:


24. Tworzymy nowy projekt:


25. Wybieramy aplikacje na 32 bitowy Windows i nadajemy nazwę:


26. Next:


27. Zaznaczamy Empty Project i kończymy pracę kreatora:


28. Dodajemy plik źródłowy:


29. Nazywamy go odpowiednio i wybieramy jego typ:


30. Wklejamy kod(np. z tutoriala Charibo ;))


31. Jeszcze kilka ustawień by program odpalił się u znajomych:


32. Przełączamy z konfiguracji Debug na wszystkie:


33. Przełączamy stringi z Unicode na ASCII:


34. Przełączamy się do trybu Release:


35. Zapisujemy ustawienia:


36. W zakładce zamieniamy Multi-threaded DLL na Multi-threaded:


37. Tak to powinno wyglądać:


38. Chwila prawdy...


39. Sukces!


Gdy będziesz wysyłał komuś program/grę to nie zapomnij przełączyć się na tryb Release:
« Ostatnia zmiana: Kwiecień 28, 2010, 16:01:32 wysłana przez Ciunkos »

Offline ShadowDancer

  • Redaktor

# Kwiecień 27, 2010, 20:39:28
Gdyby Vipa to zobaczył ;)

Offline Netrix

  • Redaktor
    • Netrix’s devBlog

# Kwiecień 28, 2010, 12:18:27
"Od Zera do w DirectX Kodera"

[...]

Bardzo fajne, zrzuć to jak możesz na WIKI :).

Offline kezcinwołs

  • Użytkownik

# Kwiecień 28, 2010, 13:22:09
Jestem Ci bardzo wdzięczny za ten tutorial, mam jeszcze tylko jeden problem... Pojawia się on w punkcie "chwila prawdy", jak klikam continue obok debug:





EDIT

WRÓć! wszystko ok, problem tkwił tym razem w kodzie. Wkleiłem ten kod i zadziałało:



#include <windows.h>
#include <windowsx.h>
#include <d3d9.h>
 
#pragma comment(lib, "d3d9.lib")
//Global Declarations
VOID* pVoid;
LPDIRECT3D9 d3d; //Pointer to the Direct3D interface
LPDIRECT3DDEVICE9 d3ddev; //Pointer to the device class
LPDIRECT3DVERTEXBUFFER9 v_buffer = NULL; //Pointer to vertex buffer
 
//Function prototypes
void initD3D(HWND hWnd); //Sets up Direct3D
void render_frame(void); //Renders a frame
void cleanD3D(void); //Closes Direct3D and releases memory
void init_graphics(void);
 
//Default screen resolution
#define SCREEN_WIDTH 800
#define SCREEN_HEIGHT 600
 
//Custom FVF
#define CUSTOMFVF (D3DFVF_XYZRHW | D3DFVF_DIFFUSE)
 
//Vertex struct
struct CUSTOMVERTEX
{
   float x,y,z, rhw;
   DWORD color;
};
 
 
 
LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam,LPARAM lParam);
 
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 = TEXT("WindowClass1");
 
   RegisterClassEx(&wc);
 
   hWnd = CreateWindowEx(NULL, TEXT("WindowClass1"), TEXT("First Window Program"),WS_EX_TOPMOST | WS_POPUP,0,0, SCREEN_WIDTH,SCREEN_HEIGHT, NULL, NULL, hInstance, NULL);
 
   ShowWindow(hWnd, nCmdShow);
 
   initD3D(hWnd);
 
   MSG msg;
 
   while(TRUE)
   {
      while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
      {
         TranslateMessage(&msg);
 
         DispatchMessage(&msg);
      }
 
      if(msg.message == WM_QUIT)
         break;
 
      render_frame();
   }
 
   cleanD3D();
 
   return msg.wParam;
}
 
 
 
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);
}
 
void initD3D(HWND hWnd)
{
 
 
   d3d = Direct3DCreate9(D3D_SDK_VERSION);
 
   D3DPRESENT_PARAMETERS d3dpp;
 
   ZeroMemory(&d3dpp, sizeof(d3dpp));
   d3dpp.Windowed = FALSE;
   d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
   d3dpp.hDeviceWindow = hWnd;
   d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8;
   d3dpp.BackBufferWidth = SCREEN_WIDTH;
   d3dpp.BackBufferHeight = SCREEN_HEIGHT;
 
   d3d->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &d3ddev);
 
   init_graphics();
}
 
void render_frame(void)
{
   d3ddev->Clear(0,NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(20,20,20), 1.0f, 0);
   d3ddev->BeginScene(); //begin the scene
 
   d3ddev->SetFVF(CUSTOMFVF);
 
   d3ddev->SetStreamSource(0,  v_buffer, 0, sizeof(CUSTOMVERTEX));
 
   d3ddev->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 1);
 
   //Back buffer rendering here
 
   d3ddev->EndScene(); //end the scene
 
   d3ddev->Present(NULL,NULL,NULL,NULL); //Display the frame
}
 
void cleanD3D(void)
{
   v_buffer->Release();//Close and release the vertex buffer
   d3ddev->Release();//Close the device
   d3d->Release();//Release D3D
}
 
void init_graphics(void)
{
   //Array for vertices
   CUSTOMVERTEX Triangle[] =
   {
        { 400.0f, 62.5f, 0.5f, 1.0f, D3DCOLOR_XRGB(0, 0, 255), },
        { 650.0f, 500.0f, 0.5f, 1.0f, D3DCOLOR_XRGB(0, 255, 0), },
        { 150.0f, 500.0f, 0.5f, 1.0f, D3DCOLOR_XRGB(255, 0, 0), },
   };
 
   d3ddev->CreateVertexBuffer(3*sizeof(CUSTOMVERTEX),
                     0,
                     CUSTOMFVF,
                     D3DPOOL_MANAGED,
                     &v_buffer,
                     NULL);
   //Lock the memory
   v_buffer->Lock(0, 0, (void**)&pVoid,0);
   //Clear the memory
   memcpy(pVoid, Triangle, sizeof(Triangle));
   //Unlock the memory
   v_buffer->Unlock();
}














Wielkie dzięki! Rozpoczynam naukę directa.
« Ostatnia zmiana: Kwiecień 28, 2010, 13:31:45 wysłana przez kezcinwołs »

Offline Lipek Samo Zło

  • Użytkownik

# Kwiecień 28, 2010, 15:58:37
Wielkie dzięki! Rozpoczynam naukę directa.

Ja na Twoim miejscu zacząłbym od c++...
Poza tym kod wstawia się w znaczniki, takie jak widzisz

Vipa

  • Gość
# Kwiecień 29, 2010, 09:49:30
Ciunkos - brawo!
kezcinwołs - zapoznaj się ze znacznikiem . To naprawdę ułatwia przeczytanie kodu i pomoc.
Jeszcze jako zasada: Nauka nie polega na wklejeniu kodu i wciśnięciu 'kompiluj'. Spokojnie, bez nerwów, po kolei przeczytaj i staraj się zrozumieć co się dzieje. Niektórzy z nas także siedzą po parę dni nad jednym zagadnieniem.

Offline kezcinwołs

  • Użytkownik

# Kwiecień 29, 2010, 22:21:37
Cytuje moją wiadomość którą wysłałem do dwóch osób, bez rezultatu. Cytuję bo nie chce mi się wymyślać coś innego -.-''

Mam problem z tym directem. Umiem już zrobić bryłę 3d z teksturą, żeby się kręciła wokół własnej osi itp. Ale chciałbym zrobić coś takiego: Płaszczyzna, na płaszczyźnie figura geometryczna, którą porusza się strzałkami, i idzie za nią kamera. Chce coś takiego zrobić żeby mieć 6 z informatyki, i 20pkt. za testy gimnazjalne do przodu, bo wybieram się na kierunek informatyczny. Czytałem już kilka tutoriali, ale nauczyły mnie one tylko robienia figury która kręci się albo stoi w miejscu, no i jeszcze umiem nałożyć na nią teksturę. Pomocy :( może być też jakieś "hiperłącze" do tutoriala w którym sprawa opisana jest szerzej, cokolwiek, byle bym zrobił to przed wystawianiem ocen.

Offline K'Aviash

  • Użytkownik

# Kwiecień 29, 2010, 22:33:07
Introduction to 3D Game Programming with DirectX 10 :D
Znajdź ebooka :)
Albo tutorial Charibo... byłeś na gamedev.pl ?
Pozdro i powodzenia. :)