Aide moi acompiler ce graph stp [Résolu]

Signaler
Messages postés
59
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
30 octobre 2006
-
Messages postés
207
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
2 novembre 2006
-
Bonjour mon erreur est ceci je tout suivi a la lettre je mais les link et je installer le sdk de microsoft qui fait le 200 meg et auusi je mais les libraris dans le directorie ce le lib\x86 qui est le win32
bon ebien rien ne compile voici le code je veut apprendre le directx mais je suis bloker aide moi stp merci.

Compiling...
Globe.cpp
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/Globe.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.


Globe.exe - 2 error(s), 0 warning(s)

#include <d3d8.h>


LPDIRECT3D8 g_pD3D = NULL;
LPDIRECT3DDEVICE8 g_pD3DDevice = NULL;


HRESULT InitialiseD3D(HWND hWnd)
{
//First of all, create the main D3D object. If it is created successfully we
//should get a pointer to an IDirect3D8 interface.
g_pD3D = Direct3DCreate8(D3D_SDK_VERSION);
if(g_pD3D == NULL)
{
return E_FAIL;
}


//Get the current display mode
D3DDISPLAYMODE d3ddm;
if(FAILED(g_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm)))
{
return E_FAIL;
}


//Create a structure to hold the settings for our device
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory(&d3dpp, sizeof(d3dpp));


//Fill the structure.
//We want our program to be windowed, and set the back buffer to a format
//that matches our current display mode
d3dpp.Windowed = TRUE;
d3dpp.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC;
d3dpp.BackBufferFormat = d3ddm.Format;


//Create a Direct3D device.
if(FAILED(g_pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &g_pD3DDevice)))
{
return E_FAIL;
}

return S_OK;
}


void Render()
{
if(g_pD3DDevice == NULL)
{
return;
}


//Clear the backbuffer to a green color
g_pD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 255, 0), 1.0f, 0);

//Begin the scene
g_pD3DDevice->BeginScene();

//Rendering of our game objects will go here

//End the scene
g_pD3DDevice->EndScene();

//Filp the back and front buffers so that whatever has been rendered on the back buffer
//will now be visible on screen (front buffer).
g_pD3DDevice->Present(NULL, NULL, NULL, NULL);
}


void CleanUp()
{
if(g_pD3DDevice != NULL)
{
g_pD3DDevice->Release();
g_pD3DDevice = NULL;
}


if(g_pD3D != NULL)
{
g_pD3D->Release();
g_pD3D = NULL;
}
}


void GameLoop()
{
//Enter the game loop
MSG msg;
BOOL fMessage;


PeekMessage(&msg, NULL, 0U, 0U, PM_NOREMOVE);

while(msg.message != WM_QUIT)
{
fMessage = PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE);


if(fMessage)
{
//Process message
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
//No message to process, so render the current scene
Render();
}


}
}


//The windows message handler
LRESULT WINAPI WinProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
break;
case WM_KEYUP:
switch (wParam)
{
case VK_ESCAPE:
//User has pressed the escape key, so quit
DestroyWindow(hWnd);
return 0;
break;
}
break;


}


return DefWindowProc(hWnd, msg, wParam, lParam);
}


//Application entry point
INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, INT)
{
//Register the window class
WNDCLASSEX wc = {sizeof(WNDCLASSEX), CS_CLASSDC, WinProc, 0L, 0L,
GetModuleHandle(NULL), NULL, NULL, NULL, NULL,
"DX Project 1", NULL};
RegisterClassEx(&wc);


//Create the application's window
HWND hWnd = CreateWindow("DX Project 1", "www.andypike.com: Tutorial 1",
WS_OVERLAPPEDWINDOW, 50, 50, 500, 500,
GetDesktopWindow(), NULL, wc.hInstance, NULL);


//Initialize Direct3D
if(SUCCEEDED(InitialiseD3D(hWnd)))
{
//Show our window
ShowWindow(hWnd, SW_SHOWDEFAULT);
UpdateWindow(hWnd);


//Start game running: Enter the game loop
GameLoop();
}

CleanUp();


UnregisterClass("DX Project 1", wc.hInstance);

return 0;
}

5 réponses

Messages postés
59
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
30 octobre 2006

TEMOIN merci pour la reponse
Messages postés
207
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
2 novembre 2006

Y'a longtemps que j'ai pas utilisé Visual C++...

L'erreur LIBCD.lib est une erreur de liaison avec la lib standard C

Plusieurs cas possible : met toi en Debug Multi-Threaded DLL dans les options du compilateur

Si ça marche pas : cherche et décoche la case "use default library..."

Sinon, je sais plus
Messages postés
59
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
30 octobre 2006

merci de repondre je vais essayer
Messages postés
224
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
18 octobre 2010

Controle également les options de ton éditeur de liens:
si tu as /subsystem: console, remplace par /subsystem: windows
Messages postés
207
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
2 novembre 2006

C'étatit quoi, alors la soluce ?