Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » [Aide SDK] Les erreurs de compilation
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

[Aide SDK] Les erreurs de compilation

Posté le 15/05/2011 00:10

Suite aux nombreuses demande d'aide que je reçois concernant des messages d'erreur lors de compilation avec le SDK, je décide de créer ce topic qui aura pour but de recenser tous les messages d'erreur, de les expliquer, et de donner leur solution.

Premièrement, qu'est ce qu'une erreur de compilation ?

Ici, ce sont les 4 lignes qui commencent par le chemin de mon fichier source contenant les erreurs (Z:\home\pierre\a\a.c) suivi du numéro de la ligne contenant l'erreur.

Liste des erreurs

Illegal token ''<mot>''
Description : Une erreur de syntaxe a été rencontrée avant <mot> (un point virgule manquant, une parenthèse en trop ...)
Solution : Arrêter de coder avec les pieds.

Undeclared name ''<nom>''
Description : Une variable est utilisée sans avoir été déclarée au préalable.
Solution : Déclarer la variable au début de la fonction.

Cannot convert parameter ''X''
Description : Le paramètre n°X envoyé à la fonction n'est pas du bon type, et ne peut pas être converti.
Solution : Vérifier quel type de variable demande la fonction, et lui envoyer une variable du bon type.

Illegal initializer type
Description : Une variable est initialisée avec un type incorrecte (exemple, un entier initialisé avec une chaîne de caractère)
Solution : Initialiser la variable avec une valeur CONSTANTE correcte.
Le compilateur Renesas utilisé par le SDK respecte la norme C89, qui spécifie qu'une variable doit être initialisée avec une valeur constante, et non une valeur de retour de fonction, ou un paramètre de la fonction.

Multiple variable declarations
Description : Une variable a déjà le même nom et la même portée que celle déclarée à la ligne de l'erreur.
(Deux variables peuvent avoir le même nom si elles n'ont pas la même portée)
Solution : Nommer la variable différemment.

Type not compatible for ''=''
Description : L'affectation d'une valeur à une variable a échouée car la valeur n'est pas d'un type compatible avec celui de la variable.
Solution : Si la valeur affectée est un retour de fonction, vérifier quel type de variable retourne la fonction.

Modifiable lvalue required for ''=''
Description : Un élément non modifiable (comme une fonction où une constante) est suivi d'un signe égal.
Solution : Seule les variables peuvent se voir affecter une valeur avec ''=''.

Index not integer
Description : utilisation d'un float ou d'un double dans l'index d'une case de tableau.
Solution : Caster en int, tableau[double] devient tableau[(int)double]

Number of parameters mismatch
Description : Trop ou pas assez de paramètres sont envoyés à la fonction.
Solution : Regarder ce que demande la fonction, et le respecter.

Undefined external symbol ''_<nom de fonction>''
Description : Une fonction est appelée, mais son implémentation n'a pas été compilée.
Solution : Vérifier l'orthographe du nom, vérifier si le fichier contenant la fonction est bien dans la fenêtre ''Files in project''. Si tout ça est bon, essayez d'éditer le fichier contenant l'implémentation de la fonction (ajouter un espace, le supprimer, sauvegarder), ça permettra au compilateur de re-compiler le fichier.

couldn't open ''<nom de fichier>''
Description : Un fichier inclu avec #include n'existe pas.
Solution : Lors de l'inclusion d'un fichier, il faut donner son chemin relatif depuis le fichier contenant la directive #include

Empty source program
Description : Le fichier source est vide, et aucun compilateur n'aime ça.

Cannot open source file ''<nom de fichier>''
Description : Le fichier source présent dans la fenêtre ''Files in project'' du SDK n'existe pas.

Unrecognized preprocessing directive
Description : Une directive de préprocesseur (lignes commençant pas #) n'est pas correctement orthographiée.

Illegal preprocessor syntax
Description : Erreur de syntaxe dans une directive de préprocesseur.

Expected a file name
Description : Un nom de fichier est attendu (généralement une erreur de syntaxe dans une directive include)

Expected an identifier
Description : Un identifiant est attendu (généralement une erreur de syntaxe dans une directive define ou ifdef)

Invalid parameter specified in option "input" : ""C:\Program Files (x86)\CASIO\fx-9860G SDK\OS\FX\lib\setup.obj""
Description : Ne jamais installer le SDK dans un dossier dont le chemin comporte des parenthèses ! Mettez-le dans C:\Programmes\CASIO par exemple.

Cette liste est incomplète, si vous rencontrez d'autres erreurs, vous pouvez les poster ici, elles seront ajoutées.

Voici une liste en anglais de toutes les erreurs possibles et imaginables. Cela ne vous donne pas forcément une bonne solution, mais ça peut vous aiguiller sur une piste


Dernière modification : 26/09/2013 (Dark Storm)

Fichier joint


Précédente 1, 2, 3 ··· 10 ··· 13, 14, 15, 16, 17, 18, 19, 20 ··· 24, 25, 26 Suivante
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 23/12/2013 21:48 | #


Essaye de déclarer normale en tant que pointeur, car je pense qu'il ne peut retourner une structure complete, mais a priori un pointeur cela devrait passer
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Ninestars Hors ligne Membre Points: 2461 Défis: 24 Message

Citer : Posté le 23/12/2013 22:02 | #


D'acc merci, je regarderai ça

Ajouté le 26/12/2013 à 18:23 :
C'est bon j'ai bidouillé et ça fonctionne.
Par contre je n'arrive pas à connaître la valeur d'une variable float durant l’exécution, comment est-ce possible ?
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 26/12/2013 18:40 | #


Que veut tu dire par la?
Si tu parles de mettre des breakpoint, c'est juste que le sdk de casio n'est vraiment pas super bien fait sur certains point
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Ninestars Hors ligne Membre Points: 2461 Défis: 24 Message

Citer : Posté le 26/12/2013 18:55 | #


D'habitude pour afficher la valeur d'une variable pour le debug j'utilise une fonction qui m'affiche sa valeur, mais c'est que pour les int. Il doit bien y avoir une façon que connaître la valeur d'une variable à n'importe quel moment non ?
Mais avec la fenêtre "Local Variables" la mienne n’apparaît pas, elle est vierge carrement. C'est vraiment mal foutu ce SDK...
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 26/12/2013 19:42 | #


Pour la fenêtre local variable, tu dois utiliser les breakpoint (appuie a gauche de la ligne a laquelle tu veux que le programme s’arrête).
Sinon tu peut adapter +/- la fonction, tu peut par exemple soit multiplier la variable par 1000 et puis la caster en int (mettre (int)variable pour faire croire qu'il s'agit d'un int), et comme ça tu connaîtra une valeur approchée. Sinon tu peux modifier ta fonction pour afficher les float
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Ninestars Hors ligne Membre Points: 2461 Défis: 24 Message

Citer : Posté le 26/12/2013 20:41 | #


D'acc merci beaucoup
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 08/01/2014 00:33 | #



J'ai encore battu mon record de crash avec mon minecraft nf: j'ai a peine le temps de cliquer sur le bouton run du sdk, après avoir eut un build résult magnifique sans même un petit warning (je viens de passer quelques heures a peaufiner mon code), que je me fais insulter par cette fenêtre intempestive: "Nonexisting memory data read acces at 3F850C78" alors que l'écran de la calculatrice virtuelle ne s'est même pas encore alumé. Et le plus drôle est que si je lance l'add-in que je viens de compiler sur ma calto, je n'ai absolument aucune erreur et tout ce passe parfaitement bien. Bref, je crois que j'ai encore corrompu la mémoire virtuelle de la calculatrice du sdk. Quels sont les fichiers a supprimer pour redémarrer le projet avec une calto neuve? dois-je recréer un projet (ça vient du projet, j'ai testé d'autres projets qui marchent très bien)?

Ajouté le 08/01/2014 à 00:34 :
En soit, c'est une bonne nouvelle, ça ma permit de me rendre compte qu'il est l'heure pour moi de lâcher mon programme et dormir car demain j'ai un partiel
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 08/01/2014 07:15 | #


Ah ça m'est déjà arrivé mais en quittant l'add-in, j'ai pas trouvé de solution
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 08/01/2014 18:42 | #


Je pense que tu n'as plus qu'a recréer un projet, mais fait juste un copié-collé des sources, ça devrait aller...
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 08/01/2014 18:44 | #


Cela m'est arrivé avec celui de fx-CG 20, il faut supprimer la dossier Casio qui se trouve dans Roaming (c'est souvet un dossier caché dans ton utilisateur.)
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 11/01/2014 19:11 | #


Tu peux supprimer le dossier INIT du projet qui contient la mémoire de l'émulateur, et aussi Debug pour être sûr de tout recompiler proprement. Je ne crois pas que le SDK crée un dossier dans AppData/Roaming.
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 12/01/2014 03:25 | #


j'ai déjà résolu mon problème en supprimant la quasi totalité des fichiers du projet, et ça a marché (et par la même occasion, j'ai trouvé d'où venait mon erreur qui avait corrompu la mémoire et l'ait corrigée)
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Siapran Hors ligne Membre Points: 3248 Défis: 17 Message

Citer : Posté le 20/01/2014 12:46 | #


salut tout le monde, ça fait un bail, j'en viens aux faits.

https://www.dropbox.com/sh/waoexde9eovhhvd/sz4s_PCx4g
dans le MINES.C, à la ligne 376, le compilateur me fait un "type mismatch", et je ne comprends pas pourquoi.
est-ce que quelqu'un peut m'éclairer?
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 20/01/2014 12:57 | #


Bizarre as tu essayé de recompiler. et as-tu des erreurs avant ?
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Siapran Hors ligne Membre Points: 3248 Défis: 17 Message

Citer : Posté le 20/01/2014 13:02 | #


alors j'ai essayé de relancer le sdk, recompiler tout, plusieur fois, et rien n'y fait.

Ajouté le 20/01/2014 à 13:48 :
bon, alors j'ai trouvé
les gens
pour le compilateur HITACHI de Renesas
une erreur dans l'ordre de déclaration
EST UN ARGUMENT MISMATCH
MERCI POUR VOS ERREURS POUR LE MOINS EXPLICITES CASIO
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 25/01/2014 16:00 | #


C'est quoi l'ordre de déclaration?
Siapran Hors ligne Membre Points: 3248 Défis: 17 Message

Citer : Posté le 25/01/2014 21:33 | #


utiliser une fonction avant qu'elle ne soit déclarée
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 01/03/2014 12:23 | #


J'ai un problème des plus incongrus qui me fait bien rager. Jugez plutôt : je programme peinard un Snake pour prendre en main le S.D.K. et soudain, au moment de compiler, voilà ce que je peux lire :
Mon compilateur a écrit :
C:\Program Files\CASIO\fx-9860G SDK\OS\FX\include\dispbios.h(60) : C2500 (E) Illegal token "typedef"
C:\Program Files\CASIO\fx-9860G SDK\OS\FX\include\dispbios.h(60) : C2500 (E) Illegal token "{"
C:\Program Files\CASIO\fx-9860G SDK\OS\FX\include\dispbios.h(60) : C2500 (E) Illegal token "{"
C:\Program Files\CASIO\fx-9860G SDK\OS\FX\include\dispbios.h(74) : C2500 (E) Illegal token "DISPBOX"
C:\Program Files\CASIO\fx-9860G SDK\OS\FX\include\fxlib.h(23) : C2500 (E) Illegal token "*"
C:\Program Files\CASIO\fx-9860G SDK\OS\FX\include\fxlib.h(24) : C2500 (E) Illegal token "*"
C:\Program Files\CASIO\fx-9860G SDK\OS\FX\include\fxlib.h(25) : C2500 (E) Illegal token "*"
C:\Program Files\CASIO\fx-9860G SDK\OS\FX\include\fxlib.h(30) : C2500 (E) Illegal token "*"
C:\Program Files\CASIO\fx-9860G SDK\OS\FX\include\fxlib.h(38) : C2500 (E) Illegal token "*"
C:\Program Files\CASIO\fx-9860G SDK\OS\FX\include\fxlib.h(39) : C2500 (E) Illegal token "*"

Oui oui, il s'agit bien des fichiers du S.D.K.! Alors que je n'y ai même pas touché, ni modifié les #include de mon .c. Jusque là il n'y avait aucun problème, mais il me sort ça subitement, comme un diable sort de sa boîte.
-florian66- Hors ligne Ancien rédacteur Points: 2383 Défis: 20 Message

Citer : Posté le 01/03/2014 13:12 | #


j'avais jamais vu
ça peut toujours aider
In Arch, I trust ! And you ?
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 01/03/2014 14:39 | #


Mais non, c'est moi qui ai besoin d'aide X)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 01/03/2014 14:50 | #


T'aurais le code en C (ton programme principal)
Précédente 1, 2, 3 ··· 10 ··· 13, 14, 15, 16, 17, 18, 19, 20 ··· 24, 25, 26 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 104 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd