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

Offline kezcinwołs

  • Użytkownik

# Kwiecień 24, 2010, 18:14:07
Możliwe że zły dział, ale nie znalazłem działu "pomoc" lub "pytania", czy "problemy". Gdy próbuję skompilować następujący kod:

#include <d3dx9.h>
#pragma comment (lib, "d3d9.lib")
#pragma comment (lib, "d3dx9.lib")
 
IDirect3D9* pD3D;
IDirect3DDevice9* pDev;
 
HWND hWnd;
 
void InitWindow()
{
//  ...
}
int __stdcall WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
    InitWindow();
     
    pD3D = Direct3DCreate9(D3D_SDK_VERSION);
 
    D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory(&d3dpp, sizeof(d3dpp));
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
    d3dpp.Windowed = true;
    d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8;
     
    pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
        D3DCREATE_HARDWARE_VERTEXPROCESSING, &d3dpp, &pDev);
 
    MSG msg;
    while(1)
    {
        if (PeekMessage(&msg, 0, 0U, 0U, PM_REMOVE))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
        else
        {
            pDev->Clear(0, 0, D3DCLEAR_TARGET, 0xff00ff00, 1, 0);
            pDev->BeginScene();
            pDev->EndScene();
            pDev->Present(0, 0, 0, 0);
        }
    }
    pDev->Release();
    pD3D->Release();
}

Wyskakują mi następujące błędy:



Jest to kod w języku Direct3D który jest tu http://www.warsztat.gd/tutorials.php?x=view&id=329


Problem tkwi w dołączeniu jakiejś biblioteki, czy co?... Pomocy  :'(

Offline Mr. Spam

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

Offline Kos

  • Użytkownik
    • kos.gd

# Kwiecień 24, 2010, 18:18:10
Dev-C++ się nie używa. Ale fakt, że dziwny błąd - to IDE ma tysiące błędów, ale akurat taki...?

Offline kezcinwołs

  • Użytkownik

# Kwiecień 24, 2010, 18:26:54
Ten błąd, z tego co rozumiem, dotyczy pliku d3d9.h z folderu include. Możliwe że błąd wynika z tego że używam dev-c++, code::blocks nie używam dlatego że miałem problem z ustawieniem lokacji Direct SDK, pisało ciągle "The path you entered seems valid, but this wizard can't locate direct/X's files in it...", z kolei w visual studio 2008 odstrasza mnie to że to wszystko to jęcyk VC++ a nie C++ i nie na każdym komputerze działają aplikacje w tym robione. Może się mylę? Co mam wybrać?

Offline Vx-x.

  • Użytkownik
    • Vx-x. Page

# Kwiecień 24, 2010, 18:33:55
z kolei w visual studio 2008 odstrasza mnie to że to wszystko to jęcyk VC++ a nie C++ i nie na każdym komputerze działają aplikacje w tym robione. Może się mylę? Co mam wybrać?
Przepraszam adminów, przepraszam Ciebie -> ale pierdzielisz jak potłuczony.

@EDIT: No ok, chyba że korzystasz z linuxa.
« Ostatnia zmiana: Kwiecień 24, 2010, 18:38:19 wysłana przez Vx-x. »

Offline ropuch

  • Użytkownik

# Kwiecień 24, 2010, 18:46:39
Cytuj
W tutorialu zakładam znajomość języka C++ w stopniu pozwalającym na swobodne posługiwanie się nim.

Niestety ten tutorial jeszcze nie jest dla ciebie.
Najpierw poznaj środowisko i język, a dopiero potem zajmij się DirectX.

Offline Paweł

  • Użytkownik

# Kwiecień 24, 2010, 18:50:31
W code::blocks nie używaj skryptu tworzącego nowy projekt. Pisany był jeśli mnie pamięć nie myli do D3D8. Stwórz nowy (pusty) projekt i ręcznie dodaj biblioteki  i nagłówki DX'a (możesz też dodać w Settings-> Global vatiables odpowiedni wpis) . Skoro nie chcesz Visuala to pewnie używsz g++ dołączonego do IDE ? Jeśli tak to ściągnij nowsze MinGw (nawet jeśli zostaniesz przy devie; masz tam przerobione nagłówki directa).

Offline ShadowDancer

  • Redaktor

# Kwiecień 24, 2010, 19:45:30
w visual studio 2008 odstrasza mnie to że to wszystko to jęcyk VC++ a nie C++
To, że microsoft chce ci ułatwić życie nie oznacza, że musisz z tego korzystać.

Offline Nargil

  • Użytkownik
    • projekty

# Kwiecień 24, 2010, 19:49:34
Dev ma specjalny program do konfiguracji. Nazywa się UNINSTALL

Offline kezcinwołs

  • Użytkownik

# Kwiecień 24, 2010, 20:01:56
Boo, mam to global vatiables, ale nie wiem co wpisać w niektóre pola:



Co wpisać w obj, cflags, lflags? I user-defined fields? Obawiam się że w tym tkwi problem.

Offline Paweł

  • Użytkownik

# Kwiecień 24, 2010, 20:51:44
Zmień tylko pole lib: E:\directx SDK\Lib\x86Następnie: Project->Properities-> project's Build options->search directories.
W compiler dodajesz:
$(#dx.include)
W liker dodajesz:
$(#dx.lib)
No i musisz jeszcze zlinkować bibloteki directxa.

Cytuj
Co wpisać w obj, cflags, lflags? I user-defined fields? Obawiam się że w tym tkwi problem.
Olej to.

EDIT:
Cytuj
#pragma comment (lib, "d3d9.lib")
#pragma comment (lib, "d3dx9.lib")
Cytuj
z kolei w visual studio 2008 odstrasza mnie to że to wszystko to jęcyk VC++
Te pragmy to włśnie rozszerzenie Visuala. Coś cie odstrasza, ale sam niewiesz co.
« Ostatnia zmiana: Kwiecień 24, 2010, 20:58:30 wysłana przez boo »

Vipa

  • Gość
# Kwiecień 24, 2010, 23:32:26
Nieee no jasne! DevC++ ma 1K błędów! Z czego większość z nich to brak umiejętności czytania ze zrozumieniem. Szczególnie polecam osobom, mającym w podpisie szykany na niego.
Pytanie: ile osób zagłębiło się w temat, większość pewnie odpadła na "devcpp" ale trzeba wziąć pod nawias ogólnego trendu, który jak wszystko - przeminie. Tak naprawdę to ciekawe ile osób używa XP (system sprzed 9 lat), "kodeków" sprzed pięciu, instaluje 10-tki programów robiących to samo (winamp, allplayer itp.), komunikatorów, które w 10% funkcjonalnością nie wykraczają po za wypisywanie reklam itd.

Dajcie se na luz. Nie potraficie rozwiązać tak prostego problemu, to nie piszcie że Dev jest zły, odpal Google, nie dawajcie linków do których dostęp po roku jest niemożliwy itd. Dajcie se na luz. Inaczej większość osób jak ja i inni co raz rzadziej będą odwiedzać te forum i odpowiadać na pytania.

Większość osób pyta nie o jakieś skomplikowane problemy tylko o podstawy. Te się nie zmieniły od dziesiątek lat. Jaki jest sens rzucać od razu inwektywy względem tej osoby? To, że używa czegoś sprzed 5 lat, nie świadczy o braku chęci nauczenia się czegokolwiek. Jak już nie ma co pisać to odpalcie sobie naszą klasę czy inne mózgojeby i tam się wyżywajcie. Proste? Proste.

Sorki, ale ja mam już dosyć tego forum.

Offline Xirdus

  • Redaktor

# Kwiecień 25, 2010, 12:34:24
Pytanie: ile osób zagłębiło się w temat, większość pewnie odpadła na "devcpp" ale trzeba wziąć pod nawias ogólnego trendu, który jak wszystko - przeminie.
Ja tu żadnego pytania nie widzę. Przeczytałem raz, drugi, piąty, i nie wiem, jakie pytanie chciałeś zadać.
Tak naprawdę to ciekawe ile osób używa XP (system sprzed 9 lat), "kodeków" sprzed pięciu, instaluje 10-tki programów robiących to samo (winamp, allplayer itp.), komunikatorów, które w 10% funkcjonalnością nie wykraczają po za wypisywanie reklam itd.
XP używają z przyzwyczajenia (działa, po co zmieniać?). Kodeki też (działają, po co zmieniać?). WinAmp od muzyki, AllPlayer od filmów. GG też z przyzwyczajenia (zazwyczaj działa, po co zmieniać?). A Dev-C++? To jest dla tych, o kim mówimy nowość, więc nie ma mowy o żadnym przyzwyczajeniu. Skoro jeszcze nie ma złych nawyków, trzeba się starać wprowadzić dobre nawyki.

Offline kezcinwołs

  • Użytkownik

# Kwiecień 25, 2010, 14:29:50
Dobra, dobra... teraz przy kompilowaniu mam taki błąd:



czy jest on spowodowany tym że nie ma plików d3d9.lib i d3dx9.lib? Jeśli tak to do jakiego folderu mam je wsadzić? W dev-c++ wsadziłem to do E:\Dev-Cpp\lib a w code::blocks nie wiem gdzie mam je włożyć, no i nie wiem czy to napewno przez brak tych plików jest ten błąd... Wywnioskowałem to z tego "linking stage skipped", czyli coś z tymi zlinkowanymi bibliotekami nie tak chyba.
« Ostatnia zmiana: Kwiecień 25, 2010, 14:33:40 wysłana przez kezcinwołs »

Offline Vx-x.

  • Użytkownik
    • Vx-x. Page

# Kwiecień 25, 2010, 14:52:04
Jeśli chcesz pisać w DX to najlepiej zrobisz używając VC, a co do twojego błędu -> sprawdzasz gdzie masz kompilator (jeśli pobrałeś C::B z MinGW, to liby możesz dać do CodeBlocks/MinGW/lib) i tam będziesz miał też katalogi lib i include.

Offline kezcinwołs

  • Użytkownik

# Kwiecień 25, 2010, 15:05:03
A jeśli bym pisał w VC, to żeby uruchomić aplikacje pisane w VC na jakimś innym komputerze, to musiałbym jeszcze instalować jakieś dodatkowe coś? W sensie że np. jak piszę coś w net framework to żeby to uruchomić na innym komputerze to musi być na nim zainstalowany net framework, to tak samo z tym VC? Czy będzie działało bez problemu?