Erreur de compilation

Résolu
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 - 3 oct. 2004 à 00:49
pidjot Messages postés 45 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 1 juin 2005 - 5 oct. 2004 à 18:11
Bonsoir à tous, j'essaie laborieusement de trouver ce qui ne fonctionne pas dans le code suivant :
#include <windows.h>
  WNDCLASSEX wc;
  wc.hCursor =  LoadImage(0, MAKEINTRESOURCE(OCR_CROSS), IMAGE_CURSOR, 0, 0, LR_DEFAULTCOLOR | LR_DEFAULTSIZE | LR_SHARED);
Ce code compile très bien sur MinGW, mais Visual C++ me donne l'erreur suivante :
main.c(15) : error C2065: 'OCR_CROSS' : undeclared identifier

J'ai vérifié, cette constante est déclarée dans WINUSER.H qui est inclus par WINDOWS.H - en théorie du moins, puisque en exécutant cl -E main.c voici ce que j'obtiens :
wc.hCursor  = LoadImageW(0, (LPWSTR)((ULONG_PTR)((WORD)(OCR_CROSS))), 2, 0, 0, 0x0000 | 0x0040 | 0x8000);


Avant d'inclure WINDOWS.H, j'inclus ce fichier :
  #define STRICT
  #define UNICODE
  #define _UNICODE
  #define VC_EXTRALEAN
  #define WIN32_EXTRA_LEAN
  #define WIN32_LEAN_AND_MEAN
  #define _WIN32_WINNT 0x0400
  #define WINVER 0x0400
mais il semble hors de cause, j'ai testé sans et çà ne fonctionne pas mieux...

J'ai également vérifié WINUSER.H, OCR_CROSS est déclaré à la ligne 8488 : #define OCR_CROSS 32515

Quelqu'un a une idée ?

6 réponses

cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
3 oct. 2004 à 01:16
Raté BruNews : #define OEMRESOURCE et vazyléon. Ces constantes sont supportées depuis NT 4.0 !

Euf rassure-moi, c'est rare ce genre de trucs ? Hein ? :-/
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 oct. 2004 à 01:05
define OCR_CROSS 32515
est exact.

ciao...
BruNews, MVP VC++
0
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
3 oct. 2004 à 01:09
Oh je n'en doute pas; je cherche juste à savoir pourquoi il ne me la définit pas... Indice : le fichier préprocessé passe de
#line 8441 "C:\\Program Files\\Microsoft SDK\\Include\\winuser.h"
à
#line 8550 "C:\\Program Files\\Microsoft SDK\\Include\\winuser.h"
alors que la constante est à la ligne 8488...

Je vais donc me taper la lecture de winuser.h ! Grrr
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 oct. 2004 à 01:12
Essaie avec
#define _WIN32_WINNT 0x500

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 oct. 2004 à 01:27
ah ben oui, y a ce con de OEMRESOURCE un peu plus bas...
Que OCR_CROSS dorme en paix, pas moi qui le derangerai.

ciao...
BruNews, MVP VC++
0
pidjot Messages postés 45 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 1 juin 2005
5 oct. 2004 à 18:11
bonjours j'ai une erreur de compilation avec borland
il compile un joli petit exe mais quand je veux cliquer dessus rien ne se passe
merci pour vos reponse
0
Rejoignez-nous