CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

J´aide les personne en C/C++

0[0]7
0[0]7
Niveau 6
10 septembre 2004 à 13:35:11

Bon, chui un peu perdu la, je redit tout :

Dans lib : GLAUX.lib, GLU32.lib, glut32.lib.

Dans include : GL.h, GLAUX,h, GLU.h, glut.h.

Ensuite, je met un code tout simple ( voir au dessus ) , ça me met une erreur. Erreur de linkage.

Ensuite :question:

LGV
LGV
Niveau 28
10 septembre 2004 à 14:14:36

il te manque encore gl et glu au niveau des libs je pense

benji-nintendo
benji-nintendo
Niveau 5
10 septembre 2004 à 16:32:12

Bonjour j´ai télécharger à plusieurs reprises le compilateur dev C/C++ et il y avait toujours un problème au niveau de l´instruction ´clrscr´ mais aussi ´gotoxy´ et des couleurs et du clignotement ( BLINK, GREEN etc...) comment cela se fait-il pouver-vous m´aider merci d´avance.

Giga-Nova
Giga-Nova
Niveau 9
10 septembre 2004 à 16:42:53

Normal j´ai le meme compilo et ca ne marche pas

JeanYvesYves
JeanYvesYves
Niveau 10
10 septembre 2004 à 17:27:45

benji-nintendo > tu inclus conio.h ?
quel erreur ça te met ?

Conio est obsolete, et de moins en moins géré ( C tout pourri conio, lol ! )

0[0]7
0[0]7
Niveau 6
10 septembre 2004 à 19:18:18

Je change le nom de glut32.lib par glut.lib.

Linkage :

g++:C:\Dev-C++\Lib\glut32.lib: No such file directory.

g++: file path prefix `C:\DEV-C_~1\Bin\` never used.

Je rechange glut.lib par glut32.lib :

Linkage :

c:\...\mes
documents\programmation\c++\opengl\unlited1.o(.tex
t+0x17):unlited1.cpp: undefined reference to `__glutInit´WhiteExit´

c:\...\mes
documents\programmation\c++\opengl\unlited1.o(.tex
t+0x17):unlited1.cpp: undefined reference to `__glutCreateWindowWithExit´

c:\...\mes
documents\programmation\c++\opengl\unlited1.o(.tex
t+0x17):unlited1.cpp: undefined reference to `__glutCreateMenuWhitExit´

c:\...\mes
documents\programmation\c++\opengl\unlited1.o(.tex
t+0x17):unlited1.cpp: undefined reference to `__glutInitDisplayMode´

c:\...\mes
documents\programmation\c++\opengl\unlited1.o(.tex
t+0x17):unlited1.cpp: undefined reference to `__glutInitWindowSize´

c:\...\mes
documents\programmation\c++\opengl\unlited1.o(.tex
t+0x17):unlited1.cpp: undefined reference to `__glutFullscreen´

Le code ( basique ) :

  1. include < glut.h>

int WindowName;

int main( int argc, char *argv[ ], char *envp[ ] )
{
glutInit(&, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(640,480); //Optionnel
WindowName = glutCreateWindow("Ma première fenêtre OpenGL ! ");
glutFullScreen(); //Optionnel

return 0;

}

Ca m´énerve de trop quand même :-(

Ptival
Ptival
Niveau 10
10 septembre 2004 à 19:28:41

Les undefined reference c´est encore un prob de linkage...

T´es sûr que t´as la bonne version de Glut ( la mingw32, pas la VC++...)

0[0]7
0[0]7
Niveau 6
10 septembre 2004 à 19:35:01

Aucune idée :snif:

QQn peut m´le mettre sur un ftp ?

0[0]7
0[0]7
Niveau 6
10 septembre 2004 à 23:31:35

Au risque de passé pour un boulay, je vais poser qq questions :

Code :

  1. include < windows.h>

/ /Prototype de notre fonction d´écoute
LRESULT CALLBACK WindowProcedure ( HWND, UINT, WPARAM, LPARAM);

/ / nom de la classe en variable globale
char szClassName[ ] = " WindowsApp";

int WINAPI
WinMain ( HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)

{
HWND hwnd; / /on définit un handle pour la fenetre
MSG messages; / /on définit une structure de message
WNDCLASSEX wincl; / /on définit une classe pour notre fenetre

/ /notre classe de fenetre
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure;
wincl.style = CS_DBLCLKS;
wincl.cbSize = sizeof ( WNDCLASSEX);
wincl.hIcon = LoadIcon ( NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon ( NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor ( NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; / /pas de menu
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground = ( HBRUSH) COLOR_BACKGROUND;

/ /on enregistre notre classe et si on n´y arrive pas on quitte le programme
if ( !RegisterClassEx ( &))
return 0;

/ /Maintenant que notre classe de fenetre est enregistré on peut cré la fenêtre
hwnd = CreateWindowEx (
0, / /pas important :D
szClassName, / /nom de la classe
" Windows App", / /nom de notre fenetre
WS_OVERLAPPEDWINDOW, / /on cré une fenetre redimensionnable
CW_USEDEFAULT, / /position par défault
CW_USEDEFAULT, / /pareil
544, / /longueur de la fenetre
375, / /hauteur
HWND_DESKTOP, / /fenetre mère ( et non pas fille)
NULL, / /notre fenetre ne contien pas de menu
hThisInstance, / /notre handle
NULL / /pas important :D
) ;

/ / on affiche notre fenetre
ShowWindow ( hwnd, nFunsterStil);

/ /on envoi les message a notre fonction d´écoute
while ( GetMessage ( &, NULL, 0, 0))//GetMessage revoie 0 quand il recoit le message WM_QUIT
{
/ /compliqué...
TranslateMessage(&);
/ /c´est ici précisément qu´on envoie les messages
DispatchMessage(&);
}

/ /on quitte
return messages.wParam;
}

/ /notre fonction d´écoute des messages

LRESULT CALLBACK
WindowProcedure ( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch ( message) / /on traite les messages avec un switch
{
case WM_DESTROY:
PostQuitMessage ( 0); / /si on clic sur la croix :D on quitte :D
break;
default: / /si on ne recoit aucun message ( ne pas modifier)
return DefWindowProc ( hwnd, message, wParam, lParam);
}

return 0;
}

Questions :

1-
int WINAPI
WinMain ( HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)

Elles servent à quoi les propriétés ?

2-
C´est quoi un handle ?

Code :
/ /notre classe de fenetre
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure;
wincl.style = CS_DBLCLKS;
wincl.cbSize = sizeof ( WNDCLASSEX);
wincl.hIcon = LoadIcon ( NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon ( NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor ( NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; / /pas de menu
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground = ( HBRUSH) COLOR_BACKGROUND;

3-
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure;
wincl.style = CS_DBLCLKS;
wincl.cbSize = sizeof ( WNDCLASSEX);
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
Sert à quoi ?

4-
wincl.hIcon = LoadIcon ( NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon ( NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor ( NULL, IDC_ARROW);
wincl.lpszMenuName = NULL;
wincl.hbrBackground = ( HBRUSH) COLOR_BACKGROUND;
Comment changer d´icône, de curseur, de background, comment mettre des menus ?

5-
Code ET question :

hwnd = CreateWindowEx (
0, / / Sert à quoi ?
szClassName,
" Windows App",
WS_OVERLAPPEDWINDOW, / / Comment faire une fenêtre non redimensionnable ?
CW_USEDEFAULT, / / Comment personnaliser la position par défault ?
CW_USEDEFAULT, / / Pourquoi l´écrire deux fois ?
544,
375,
HWND_DESKTOP, / / Sert à quoi ?
NULL, / / Idem
hThisInstance, / / Idem
NULL / / Idem
) ;

6-
ShowWindow ( hwnd, nFunsterStil);
nFunsterStil ?

7-
while ( GetMessage ( &, NULL, 0, 0))//GetMessage revoie 0 quand il recoit le message WM_QUIT
{
/ /compliqué...
TranslateMessage(&);
/ /c´est ici précisément qu´on envoie les messages
DispatchMessage(&);
}

/ /on quitte
return messages.wParam;
}

Rien compris là ^^

8-
La non plus :

LRESULT CALLBACK
WindowProcedure ( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch ( message) / /on traite les messages avec un switch
{
case WM_DESTROY:
PostQuitMessage ( 0); / /si on clic sur la croix :D on quitte :D
break;
default: / /si on ne recoit aucun message ( ne pas modifier)
return DefWindowProc ( hwnd, message, wParam, lParam);
}

return 0;
}

Je sais en postant ce post, que j´ai ( quasi) aucune chance d´avoir des réponses ( étonnez-moi :-) ) .

Vous vous dîtes : pourquoi y pose toutes ces questions, ça lui sert à quoi ?
Et bien, je ne recopierai pas le code bêtement sans
savoir ce que ça veut dire, je le comprendrai.

Merci d´avance à ceux qu´auront le courage de lire tout ça ( et de me répondre, ça serait encore mieux ^^ ) .

007, the boulay of the forum game-creator

LGV
LGV
Niveau 28
11 septembre 2004 à 00:29:32

1) cf. MSDN

2) un nom générique qu´on donne à un " identifiant" ( voire plus complexe...) pour manipuler un objet ; un handle de fichier par exemple, te permet de le manipuler. Des handles de fenetre, c´est pareil : tu veux que ton programme controle une autre fenetre, faut récuperer son handle ( en gros, et pour faire simple...)

3 et 4) cf. http://www.functionx.com/visualc/index.htm en gros tu crées une classe de fenetre perso, que tu enregistres ; c´est un modele qui te sert ensuite à créer des fenetres qui respectent ces propriétés. cf. MSDN aussi, pour tous les champs

5) c´est l´étape d´enregistrement de la classe de fenetre ; cf. le proto de la fonction dans la MSDN pour toutes les explications des paramètres

6) c´est un des params du point d´entrée de ta fonction winmain...

7) si si t´as tout compris.. quand tu recois un message, tu le " traduis" ( = décode avec le translate) pour savoir à quoi il correspond ; s´il est pour ta fenetre, il sera traité par ton callback winproc, sinon tu le dispatch aux autres applis ( vu que c´est un environnement multitaches, tu peux recevoir des messages de l´OS qui ne sont pas pour toi...)

8) ça c´est justement la boucle de message, qui traite ceux qui te sont destinés

avant d´attaquer le win32 de manière bestiale, munis toi d´une doc ( msdn) et de qq tuts ( functionx), ça ira tout seul...

lalelale
lalelale
Niveau 5
12 septembre 2004 à 11:43:42

Alors, j´ai recemment acheté un bouquin sur le C++, et dedans il propose un exo qui consiste à créer son propre fonction error(). Alors j´ai fait ce code :

  1. include < iostream>
  2. include < cstdarg>

void error(const char* error . ..)
{
va_list ap;
va_start(ap,error);

char *p = va_arg(ap,char*);//suppose que ap sera de types char*
cerr<<p<<" " <<error;

char *search;//cherche les caracteres %d,%s,%c
for(p = ap; *p; *p++)
{ if(*p!=´%´)
{}
else
{
*++p;//pour que ca lise le caractere suivant
switch(*p)
{
case ´s´ :
int entier = va_arg(ap,int);
cout<<"%s " <<entier;
break;

/ * case ´c´ :
double a_virgule = va_arg(ap,double);
cout<<"%c " <<a_virgule;
break;*/
}

}
}

}

Le probleme c´est que . ... ca ne marche pas ( hum). Mais le probléme c´est que je ne vois pas l´erreur ( ça n´affiche pas d´erreur dans la compilation, seulement dans l´execution du prog´).

Druss_la_Legend
Druss_la_Legend
Niveau 7
12 septembre 2004 à 16:18:56

je voudrai savoir comment a partir dun fichier . x ( de 3ds max) on peut utiliser son mesh ds le prog, et donc comment lui donner un nom de fonction pour lui donner des instruction merci :)

Giga-Nova
Giga-Nova
Niveau 9
12 septembre 2004 à 17:40:45

j´ai un blème,

  1. include < SDL/SDL.h>

SDL_Surface* screen;
SDL_Event event;

void init_SDL()
{
SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER);
screen = SDL_SetVideoMode(640, 480, 32,SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_FULLSCREEN);
SDL_ShowCursor(0);
}

SDL_Rect Rect(int x,int y,int w=0,int h=0)
{
SDL_Rect r;
r.x=x;
r.y=y;
r.w=w;
r.h=h;
return r;
}

SDL_Surface* LoadBMP(char* fichier,int vram=1)
{
SDL_Surface* f = SDL_LoadBMP(fichier);
SDL_Surface* r;
if ( vram)
r=SDL_CreateRGBSurface(SDL_HWSURFACE, f->w, f->h, 32, 0, 0, 0, 0);
if ( r==NULL) vram=0;
if ( !vram)
r=SDL_CreateRGBSurface(SDL_SWSURFACE, f->w, f->h, 32, 0, 0, 0, 0);
SDL_Rect R=Rect(0,0,f->w,f->h);
SDL_BlitSurface(f,NULL,r,&);
SDL_FreeSurface(f);
return r;
}

int main(int argc , char **argv)
{
int s=1;
int sx=1,sy=1;
SDL_Rect rect1;
SDL_Surface* firstscreen;
SDL_Surface* perso[3];

int fini=0;
init_SDL();

rect1.x = 0;
rect1.y = 0;

firstscreen=LoadBMP("map.bmp");
perso[0]=LoadBMP("homme1.bmp");
perso[1]=LoadBMP("homme2.bmp");
perso[2]=LoadBMP("homme3.bmp");

//SDL_SetColorKey(perso[3],SDL_SRCCOLORKEY , SDL_MapRGBA(perso[3]->format,255,0,255,0));
//SDL_SetAlpha(perso[3],SDL_SRCALPHA,128);

while(1)
{
SDL_PollEvent(&);
if ( event.type == SDL_KEYDOWN && event.key.keysym.sym == SDLK_RETURN)
break;
if ( event.type == SDL_KEYDOWN)
{
if ( event.key.keysym.sym == SDLK_LEFT) rect1.x-=1;
if ( event.key.keysym.sym == SDLK_RIGHT) rect1.x+=1;
}

if ( rect1.x<0) sx=1;
if ( rect1.y<0) sy=1;
if ( rect1.x>950) sx=-1;
if ( rect1.y>650) sy=-1;
SDL_BlitSurface(firstscreen,NULL,screen,NULL);

SDL_BlitSurface(perso[rect1.x/20%3)]NULL,screen,&
ect1);
SDL_Flip(screen);
}
SDL_ShowCursor(1);
SDL_Quit();
return 0;
}

et ca me mets " parse error before token ´)´

VulKain
VulKain
Niveau 4
12 septembre 2004 à 17:53:49

SDL_BlitSurface(perso[rect1.x/20%3)]NULL,screen,&

ect1);

Ya pas comme une petite erreur de parenthèse ? ; )

Giga-Nova
Giga-Nova
Niveau 9
12 septembre 2004 à 17:56:21

ah non désolé j´ai essaiyer ton ex ca marche tjr pas

VulKain
VulKain
Niveau 4
12 septembre 2004 à 18:00:58

c´est peut être parce que j´ai pas corrigé la faute

Giga-Nova
Giga-Nova
Niveau 9
12 septembre 2004 à 18:03:22

tu n´a pas corrigé la faute

VulKain
VulKain
Niveau 4
12 septembre 2004 à 18:06:41

SDL_BlitSurface(perso[rect1.x/(20%3)],NULL,screen,
&1);
voila

Giga-Nova
Giga-Nova
Niveau 9
12 septembre 2004 à 18:11:29

merci ca marche, heu des fois tu ne serait pas comment assigner un img a une touche ( ex droite img du perso droite, gauche img du perso gauche)

Giga-Nova
Giga-Nova
Niveau 9
12 septembre 2004 à 18:18:57

le prog marche mais rien n´apparait

81 C:\Dev-Cpp\jeu2D.cpp
[Warning] division by zero in `rect1.SDL_Rect::x / 0´

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware