compilation visual C++ - C++ - Programmation
Marsh Posté le 13-02-2006 à 17:15:09
Pour les functions DIB, c'est surement un probleme de #include etc... Pour le unexpected end of file, c'est surement un mismatch entre les { et les }..mais cela ne vient pas forcement de la fin du fichier...
Il faut verifier tout le fichier, surtout les { des blocks if/else ou do/while, ne pas oublier le } final ..
Marsh Posté le 13-02-2006 à 17:27:44
Merci beaucoup pour ta réponse. T'aurais pas une idée du #include qu'il me manque par hasard????
Marsh Posté le 13-02-2006 à 18:59:13
Salut,
ton code vient de la?
http://web6.codeproject.com/audio/ [...] ct=1082060
Marsh Posté le 14-02-2006 à 09:12:18
mais finalement j'ai changé car j'avais trop d'erreurs avec celui là. Cependant ils sont quasiment identiques!!!!
Marsh Posté le 14-02-2006 à 09:35:15
Voici l'adresse du code que j'ai utilisé : http://www.experts-exchange.com/Pr [...] 10679.html
Marsh Posté le 14-02-2006 à 10:18:03
Ils sont loin d'être indentiques du point de vue de la programmation : le code source de ton dernier lien ne fait pas appel aux MFC mais uniquement au C et à l'API Windows standard. Ton code précédent faisait lui appel aux MFC (assez maladroitement par certains aspects d'ailleurs).
Il me semble que le second code source est mal indexé : il ne devrait pas être classé dans C++ car il n'y a pas un gramme d'objet dedans.
Marsh Posté le 14-02-2006 à 10:30:06
Non rien ne t'y oblige. Les fonctions portent les même noms et réalisent la même opération. La différence réside dans les types de paramètres des fonctions, l'un étant un type C standard char* et l'autre un objet MFC CString.
Remarque: dans les deux cas le type du paramètre szFileName n'est pas approprié : il vaut mieux un const char* ou un LPCTSTR en MFC (macro MFC pour const char*).
Marsh Posté le 14-02-2006 à 10:31:14
slash33 a écrit : (macro MFC pour const char*). |
pas exactement. C'est une macro permettant de switcher facilement entre une appli en MBCS et une appli en Unicode.
Marsh Posté le 14-02-2006 à 10:33:20
qu'il va falloir songer serieusement à apprendre les bases du C/C++
Marsh Posté le 14-02-2006 à 10:33:49
Là je compile avec le code MFC et j'ai les memes erreurs a la compilation CreateFromPackedDIBPointer : undeclared identifier
Marsh Posté le 14-02-2006 à 10:34:42
Pourtant j'ai des bouquins et j'ai eu des cours et j'en ai jamais entendu parler!!
Marsh Posté le 14-02-2006 à 10:35:27
ptain mais sors toi les doigts du cul
http://web6.codeproject.com/audio/ [...] ct=1082060
elle est la, en gros, ta fonction
Code :
|
Marsh Posté le 14-02-2006 à 10:35:41
elo29 a écrit : Pourtant j'ai des bouquins et j'ai eu des cours et j'en ai jamais entendu parler!! |
ué, genre t'as jamais entendu parler de #define
Marsh Posté le 14-02-2006 à 10:36:38
ReplyMarsh Posté le 14-02-2006 à 10:37:43
elo29 a écrit : Si, mais si tu pouvais parler correctement ça m'arrangerait!!!!! |
nan mais tu rigoles jean louis ? tu tapes CreateFromPackedDIBPointer dans google et tu trouves directement la réponse. Bouge toi quoi, ou dit autrement "aide toi le ciel t'aideras", c'est pas l'assistance publique ici
Marsh Posté le 14-02-2006 à 10:38:45
Tu n'a jamais vu de #define ??
// Définit une chaîne constante
#define THIS_IS_MY_STRING_VAR "this is a string value"
// Définit une macro qui rend la valeur maximale entre deux valeurs
#define MY_MINMAX(a,b) ((a) > (b) ? (a) : (b))
C'est une horreur. A proscrire en C++ sauf usage spécifique et justifié.
Marsh Posté le 14-02-2006 à 10:39:35
eh bien j'ai tapé exactement ça mais ça ne marche pas!!!!!!!!
Marsh Posté le 14-02-2006 à 10:40:50
Et tu veux vraiment pas apprendre les bases du C/C++ avant ?
(a tous les coups il utilise sa fonction avant de l'avoir déclaré / définie)
Marsh Posté le 14-02-2006 à 10:42:19
Va savoir. Il ne n'a pas fourni le détail des erreurs de compilation et il a oublié que les exemples publiés sur les pages HTML ne sont pas utilisables en l'état : il faut inclure les en-têtes qui vont bien.
Marsh Posté le 14-02-2006 à 10:42:37
Au fait pourquoi avoir changé de topic ?
http://forum.hardware.fr/hardwaref [...] 4772-1.htm
Marsh Posté le 14-02-2006 à 10:43:37
slash33 a écrit : Va savoir. Il ne n'a pas fourni le détail des erreurs de compilation et il a oublié que les exemples publiés sur les pages HTML ne sont pas utilisables en l'état : il faut rajouter l'inclusion des en-tête qui vont bien. |
bah si, un peu quand meme, on ne peut pas lui retirer ca
Code :
|
maintenant c'est sur qu'on sait pas trop ce qu'il a fait, s'il a bien penser a mettre ca dans son .cpp ou s'il a copier coller le code dans paint...
Marsh Posté le 14-02-2006 à 10:44:10
Bien sur que si j'ai déjà vu un #define mais je ne comprends pas macro, c'est tout!
Marsh Posté le 14-02-2006 à 10:45:29
Bon et bien je laisse tomber! je suis venu chercher de l'aide et surement pas qu'on me parle comme cela (chrisbk)!
Marsh Posté le 14-02-2006 à 10:46:32
hé bah laisse tomber, c'est pas moi que ca derange. Néanmoins, a l'avenir et si jamais tu sens a nouveau l'envie de revenir jouer les pleureuses, pense a etre un peu plus précis dans tes questions (genre poster le code foireux). En attendant, je ne peux que te conseiller la lecture d'un solide bouquin de C++
Marsh Posté le 14-02-2006 à 10:46:57
ReplyMarsh Posté le 14-02-2006 à 10:47:58
Néanmoins il n'a pas tort. Si tu ne sais pas ce qu'est une macro tu manques peut-être des connaissances nécessaires à la mise en oeuvre de ta solution.
Là chrisbk t'explique qu'il te manque peut-être la déclaration de la fonction CreateFromPackedDIBPointer et il n'a pas du tout tort.
Marsh Posté le 14-02-2006 à 10:51:42
slash33 a écrit : |
Pour l'explication: un compilo C/C++ doit connaitre ce que tu utilises avant que tu ne l'utilise
soi tu mets le code de CreateDIBPacketBidule avant ta fonction utilisant ledit code, soit tu declares ta fonction avant (cf cours)
Marsh Posté le 14-02-2006 à 10:52:42
Ton projet doit comporter:
- la déclaration de la fonction CreateFromPackedDIBPointer dans un fichier d'en-tête .H
- l'implémentation de cette fonction dans un fichier .C ou .CPP. Ce fichier doit inclure le fichier d'en-tête dans lequel la fonction est déclarée.
Marsh Posté le 13-02-2006 à 15:14:53
Bonjour,
Je code actuellement un programme permettant d'extraire les images d'une vidéo et de les convertir en bitmap.
Voici quelques erreurs que je ne comprends pas à la compilation :
'CreateFromPackedDIBPointer' : undeclared identifiers
'CreateFromPackedDIBPointer' : redefinition; different type modifiers
fatal error : unexpected end of file found
La fin de mon code est la suivante et je ne sais pas ce qui manque :
if (fp!=NULL)
{
fwrite...
}
else
{
printf...;
return FALSE;
}
Quelqu'un pourrait m'aider svp??